package com.nanjing.water.common.util; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class EncryptionUtil { public static String encryptString(String input) { try { // 将传入的字符串转换为字节数组 byte[] inputBytes = input.getBytes(StandardCharsets.UTF_8); // 使用SHA-256进行加密 MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hashBytes = digest.digest(inputBytes); // 转换为十六进制字符串 StringBuilder sb = new StringBuilder(); for (byte b : hashBytes) { sb.append(String.format("%02x", b)); } String hashedString = sb.toString(); // 按照指定规则截取和重新组合字符串 StringBuilder result = new StringBuilder(); for (int i = 0; i < 4; i++) { String subString = hashedString.substring(i * 16, (i + 1) * 16); for (int j = 0; j < 4; j++) { result.append(subString.charAt(j * 4 + j)); } } return result.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; } } // public static void main(String[] args) { // String input = "#beiaisi#_000001"; // 传入的字符串 // // // 调用加密方法 // String encryptedString = encryptString(input); // System.out.println(encryptedString); // } }