From 94513cdb65defe32c70c8e29550a0593594ec085 Mon Sep 17 00:00:00 2001 From: KinglyWayne Date: Tue, 5 Nov 2024 18:55:29 +0800 Subject: [PATCH] Update README.md --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README.md b/README.md index 370bca6..94c7ca3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,52 @@ # PRReview PRReview Project + +add Java Code + + +```Java +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +public class ThreadSafeHashing { + + private static final ConcurrentHashMap hashMap = new ConcurrentHashMap<>(); + + public static void main(String[] args) { + ExecutorService executorService = Executors.newFixedThreadPool(10); // 创建一个固定大小的线程池 + + String[] data = {"data1", "data2", "data3", "data4", "data5"}; // 待加密数据 + + for (String item : data) { + executorService.submit(() -> { + try { + String hash = hashData(item); + hashMap.put(item, hash); // 将哈希值保存到ConcurrentHashMap中 + System.out.println("Data: " + item + " Hash: " + hash); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + }); + } + + executorService.shutdown(); // 关闭线程池 + } + + private static String hashData(String data) throws NoSuchAlgorithmException { + MessageDigest digest = MessageDigest.getInstance("SHA-256"); // 使用SHA-256算法 + byte[] hash = digest.digest(data.getBytes()); + StringBuilder hexString = new StringBuilder(); + for (byte b : hash) { + String hex = Integer.toHexString(0xff & b); + if (hex.length() == 1) { + hexString.append('0'); + } + hexString.append(hex); + } + return hexString.toString(); // 返回哈希值的十六进制字符串表示 + } +} +```