From 825b010843768f724908715b28e13810470bab5e Mon Sep 17 00:00:00 2001 From: BrandWang Date: Thu, 25 May 2023 15:14:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=8F=AF=E5=9B=9E=E6=BA=AF):=20appKey?= =?UTF-8?q?=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改appKey生成方式 --- .../recall/util/ShortAppKeyGenerator.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/util/ShortAppKeyGenerator.java b/afis-recall-web/src/main/java/com/wabestway/recall/util/ShortAppKeyGenerator.java index bde7ba2..2510f08 100644 --- a/afis-recall-web/src/main/java/com/wabestway/recall/util/ShortAppKeyGenerator.java +++ b/afis-recall-web/src/main/java/com/wabestway/recall/util/ShortAppKeyGenerator.java @@ -1,19 +1,24 @@ package com.wabestway.recall.util; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; +import java.util.Arrays; import java.util.UUID; public class ShortAppKeyGenerator { private static final char[] BASE62_CHARS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray(); public static String generate() { - UUID uuid = UUID.randomUUID(); - long mostSigBits = uuid.getMostSignificantBits(); - long leastSigBits = uuid.getLeastSignificantBits(); - byte[] bytes = new byte[16]; - for (int i = 0; i < 8; i++) { - bytes[i] = (byte) (mostSigBits >>> (8 * (7 - i))); - bytes[i + 8] = (byte) (leastSigBits >>> (8 * (7 - i))); + String input = System.currentTimeMillis() + ""; + MessageDigest md = null; + try { + md = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException(e); } + byte[] bytes = md.digest(input.getBytes()); return toBase62(bytes); } @@ -32,12 +37,13 @@ public class ShortAppKeyGenerator { long result = 0; for (int i = 0; i < 8; i++) { result <<= 8; - result |= (bytes[i] & 0xFF); - } - for (int i = 8; i < 16; i++) { - result <<= 8; - result |= (bytes[i] & 0xFF); + result |= ((long) (bytes[i] & 0xFF)); } return result; } + + public static void main(String[] args) { + String appKey = generate(); + System.out.println(appKey); // 输出:pT8bnL3ZTYqdBlUo + } }