|
@@ -0,0 +1,72 @@
|
|
|
|
+package vip.xiaonuo.biz.core.sign.utils;
|
|
|
|
+
|
|
|
|
+import javax.crypto.Mac;
|
|
|
|
+import javax.crypto.spec.SecretKeySpec;
|
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
|
+import java.security.InvalidKeyException;
|
|
|
|
+import java.security.MessageDigest;
|
|
|
|
+import java.security.NoSuchAlgorithmException;
|
|
|
|
+
|
|
|
|
+public class MD5 {
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 生成 MD5
|
|
|
|
+ *
|
|
|
|
+ * @param data 待处理数据
|
|
|
|
+ * @return MD5结果
|
|
|
|
+ */
|
|
|
|
+ public static String md5(String data) {
|
|
|
|
+ StringBuilder sb = null;
|
|
|
|
+ try {
|
|
|
|
+ MessageDigest md = MessageDigest.getInstance("MD5");
|
|
|
|
+ byte[] array = md.digest(data.getBytes("UTF-8"));
|
|
|
|
+ sb = new StringBuilder();
|
|
|
|
+ for (byte item : array) {
|
|
|
|
+ sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
|
|
|
|
+ }
|
|
|
|
+ } catch (NoSuchAlgorithmException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return sb.toString().toUpperCase();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 生成 HMACSHA256
|
|
|
|
+ * @param data 待处理数据
|
|
|
|
+ * @param key 密钥
|
|
|
|
+ * @return 加密结果
|
|
|
|
+ * @throws Exception
|
|
|
|
+ */
|
|
|
|
+ public static String HMACSHA256(String data, String key){
|
|
|
|
+ StringBuilder sb = null;
|
|
|
|
+ try {
|
|
|
|
+ Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
|
|
|
|
+ SecretKeySpec secret_key = new SecretKeySpec(key.getBytes("UTF-8"), "HmacSHA256");
|
|
|
|
+ sha256_HMAC.init(secret_key);
|
|
|
|
+ byte[] array = sha256_HMAC.doFinal(data.getBytes("UTF-8"));
|
|
|
|
+ sb = new StringBuilder();
|
|
|
|
+ for (byte item : array) {
|
|
|
|
+ sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
|
|
|
|
+ }
|
|
|
|
+ } catch (NoSuchAlgorithmException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ } catch (InvalidKeyException e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ return sb.toString().toUpperCase();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
+ System.out.println(md5("31119@qq.com" + "123456"));
|
|
|
|
+ System.out.println(md5("mj1"));
|
|
|
|
+ System.out.println(md5("123456"));
|
|
|
|
+ System.out.println(md5("123456"));
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|