java 纯数字加密_谁能提供一个java的纯数字加密的方法,要从8位变为16位,生成的加密数据要看起来没有规律...
时间: 2024-03-16 19:45:08 浏览: 21
您可以尝试使用以下代码实现纯数字加密,将8位数字加密成16位数字,生成的加密数据看起来没有规律:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class NumericEncryption {
public static void main(String[] args) {
String input = "12345678"; // 待加密的数字
String encrypted = encrypt(input); // 加密后的结果
System.out.println(encrypted);
}
public static String encrypt(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(input.getBytes());
byte[] md5Bytes = md.digest();
StringBuilder sb = new StringBuilder();
for (byte b : md5Bytes) {
sb.append(Integer.toHexString((b & 0xFF) | 0x100).substring(1, 3));
}
return sb.toString().substring(0, 16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
}
```
这段代码使用 MD5 算法进行加密,将加密后的结果转换为十六进制字符串并截取前16位作为加密结果。由于 MD5 加密算法的不可逆性,生成的加密数据看起来没有规律。