diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/util/Digests.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/util/Digests.java deleted file mode 100644 index d4bfaadc5..000000000 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/util/Digests.java +++ /dev/null @@ -1,113 +0,0 @@ -/** - */ -package com.jsowell.thirdparty.lianlian.util; - -import org.apache.commons.lang3.Validate; - -import java.io.IOException; -import java.io.InputStream; -import java.security.GeneralSecurityException; -import java.security.MessageDigest; -import java.security.SecureRandom; - -public class Digests { - - private static final String SHA1 = "SHA-1"; - private static final String MD5 = "MD5"; - - private static SecureRandom random = new SecureRandom(); - - /** - * 对输入字符串进行md5散列. - */ - public static byte[] md5(byte[] input) { - return digest(input, MD5, null, 1); - } - public static byte[] md5(byte[] input, int iterations) { - return digest(input, MD5, null, iterations); - } - - /** - * 对输入字符串进行sha1散列. - */ - public static byte[] sha1(byte[] input) { - return digest(input, SHA1, null, 1); - } - - public static byte[] sha1(byte[] input, byte[] salt) { - return digest(input, SHA1, salt, 1); - } - - public static byte[] sha1(byte[] input, byte[] salt, int iterations) { - return digest(input, SHA1, salt, iterations); - } - - /** - * 对字符串进行散列, 支持md5与sha1算法. - */ - private static byte[] digest(byte[] input, String algorithm, byte[] salt, int iterations) { - try { - MessageDigest digest = MessageDigest.getInstance(algorithm); - - if (salt != null) { - digest.update(salt); - } - - byte[] result = digest.digest(input); - - for (int i = 1; i < iterations; i++) { - digest.reset(); - result = digest.digest(result); - } - return result; - } catch (GeneralSecurityException e) { - throw Exceptions.unchecked(e); - } - } - - /** - * 生成随机的Byte[]作为salt. - * - * @param numBytes byte数组的大小 - */ - public static byte[] generateSalt(int numBytes) { - Validate.isTrue(numBytes > 0, "numBytes argument must be a positive integer (1 or larger)", numBytes); - - byte[] bytes = new byte[numBytes]; - random.nextBytes(bytes); - return bytes; - } - - /** - * 对文件进行md5散列. - */ - public static byte[] md5(InputStream input) throws IOException { - return digest(input, MD5); - } - - /** - * 对文件进行sha1散列. - */ - public static byte[] sha1(InputStream input) throws IOException { - return digest(input, SHA1); - } - - private static byte[] digest(InputStream input, String algorithm) throws IOException { - try { - MessageDigest messageDigest = MessageDigest.getInstance(algorithm); - int bufferLength = 8 * 1024; - byte[] buffer = new byte[bufferLength]; - int read = input.read(buffer, 0, bufferLength); - - while (read > -1) { - messageDigest.update(buffer, 0, read); - read = input.read(buffer, 0, bufferLength); - } - - return messageDigest.digest(); - } catch (GeneralSecurityException e) { - throw Exceptions.unchecked(e); - } - } - -} diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/util/LianLianUtils.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/util/LianLianUtils.java deleted file mode 100644 index 96b2f5fb5..000000000 --- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/lianlian/util/LianLianUtils.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.jsowell.thirdparty.lianlian.util; - -import com.jsowell.common.constant.Constants; -import com.jsowell.common.util.BytesUtil; -import com.jsowell.common.util.DateUtils; - -import javax.crypto.Mac; -import javax.crypto.SecretKey; -import javax.crypto.spec.SecretKeySpec; -import java.nio.charset.StandardCharsets; -import java.util.Locale; - -/** - * 联联平台工具类 - * - * @author JS-ZZA - * @date 2023/5/6 14:22 - */ -public class LianLianUtils { - static final String ALGORITHM_MAC = "HmacMD5"; - - /** 密钥 **/ - static final String MAC_KEY = "TmsdVaFVTtjzZbLi"; - - - /** - * HMAC加密 - * @return - * @throws Exception - */ - public static String encryptionHMAC(String source) throws Exception { - SecretKey secretKey = new SecretKeySpec(MAC_KEY.getBytes(StandardCharsets.UTF_8), ALGORITHM_MAC); - Mac mac = Mac.getInstance(ALGORITHM_MAC); - mac.init(secretKey); - mac.update(source.getBytes(StandardCharsets.UTF_8)); - return BytesUtil.binary(mac.doFinal(), 16).toUpperCase(Locale.ROOT); - } - - /** - * 拼接参数 - * @param Data - * @return - */ - public static String connectData(String Data){ - String timeStamp = DateUtils.dateTimeNow(DateUtils.YYYYMMDDHHMMSS); - String number = "0001"; - return Constants.OPERATORID_LIANLIAN + Data + timeStamp + number; - } -}