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);
|
// }
|
}
|