des加密算法java
时间: 2023-07-26 13:05:48 浏览: 47
DES加密算法是一种对称加密算法,Java中可以使用javax.crypto包中的类来实现。下面是一个简单的示例代码:
```java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.Key;
public class DesEncryption {
public static void main(String[] args) throws Exception {
String plainText = "Hello, world!";
String key = "12345678"; // 8字节密钥
// 创建密钥对象
Key desKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "DES");
// 创建加密器
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, desKey);
// 加密
byte[] encryptedBytes = cipher.doFinal(plainText.getBytes(StandardCharsets.UTF_8));
// 输出加密结果
System.out.println("加密结果:" + bytesToHexString(encryptedBytes));
}
// 将字节数组转换成十六进制字符串
private static String bytesToHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X", b));
}
return sb.toString();
}
}
```
注意,DES算法的密钥长度必须为8字节。示例代码中使用的是ECB模式和PKCS5Padding填充方式,你可以根据需要选择其他的模式和填充方式。