From b9587a081f50c7d17677326e06bf7894bc2dd5b0 Mon Sep 17 00:00:00 2001 From: cqf <584883665@139.com> Date: Sun, 6 Mar 2022 10:14:45 +0000 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=B9=B3=E5=8F=B0api=20key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/sale/admin/util/AppUtils.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 api-admin/src/main/java/com/glxp/sale/admin/util/AppUtils.java diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/AppUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/util/AppUtils.java new file mode 100644 index 0000000..ed50e83 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/AppUtils.java @@ -0,0 +1,64 @@ +package com.glxp.sale.admin.util; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; +import java.util.UUID; + + +public class AppUtils { + //生成secret_key + private final static String SALT = "1qazxsw2"; + private static final String ALGORITH_NAME = "sha-512"; + private static final int HASH_ITERATIONS = 2; + private final static String[] chars = new String[]{"a", "b", "c", "d", "e", "f", + "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", + "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", + "6", "7", "8", "9","a", "b", "c", "d", "e", "f", + "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", + "t", "u", "v", "w", "x", "y", "z"}; + + + public static String getAppid() { + StringBuffer shortBuffer = new StringBuffer(); + String uuid = UUID.randomUUID().toString().replace("-", ""); + for (int i = 0; i < 8; i++) { + String str = uuid.substring(i * 4, i * 4 + 4); + int x = Integer.parseInt(str, 16); + shortBuffer.append(chars[x % 0x3E]); + } + return shortBuffer.toString(); + + } + + + public static String getSecretKey(String appid) { + try { + String[] array = new String[]{appid, SALT}; + StringBuffer sb = new StringBuffer(); + + Arrays.sort(array); + for (int i = 0; i < array.length; i++) { + sb.append(array[i]); + } + String str = sb.toString(); + MessageDigest md = MessageDigest.getInstance("SHA-1"); + md.update(str.getBytes()); + byte[] digest = md.digest(); + + StringBuffer hexstr = new StringBuffer(); + String shaHex = ""; + for (int i = 0; i < digest.length; i++) { + shaHex = Integer.toHexString(digest[i] & 0xFF); + if (shaHex.length() < 2) { + hexstr.append(0); + } + hexstr.append(shaHex); + } + return hexstr.toString(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + throw new RuntimeException(); + } + } +} \ No newline at end of file