JAVA 将长字符串生成15位唯一加密字符串,支持解密
时间: 2023-08-17 21:04:01 浏览: 171
在Java中,可以使用MessageDigest类来生成唯一加密字符串。以下是一个将长字符串转换为15位MD5加密字符串的示例代码:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class UniqueStringUtil {
public static String generateUniqueString(String input) {
try {
// Create a MessageDigest instance for MD5
MessageDigest md = MessageDigest.getInstance("MD5");
// Add the input string bytes to the digest
md.update(input.getBytes());
// Generate the MD5 hash
byte[] digest = md.digest();
// Convert the byte array to a hex string
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b & 0xff));
}
// Truncate the string to 15 characters
return sb.toString().substring(0, 15);
} catch (NoSuchAlgorithmException e) {
// Handle the exception
return null;
}
}
public static void main(String[] args) {
// Example usage
String input = "This is a long string that needs to be hashed.";
String output = generateUniqueString(input);
System.out.println(output);
}
}
```
这段代码使用MD5算法将输入字符串转换为byte数组,并将其转换为16进制字符串。最后,它将字符串截断为15个字符以确保唯一性。如果需要支持解密功能,可以考虑使用其他加密算法,如AES加密。
阅读全文