帮我用Java写一个DES算法
时间: 2024-06-09 19:08:41 浏览: 7
好的,下面是Java实现的DES算法代码:
```java
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
public class DES {
public static void main(String[] args) throws Exception {
String plaintext = "Hello World"; // 明文
String key = "secretkey"; // 密钥
// 创建DES算法实例
Cipher des = Cipher.getInstance("DES");
// 创建密钥
SecretKey secretKey = new SecretKeySpec(key.getBytes(), "DES");
// 加密
des.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] ciphertext = des.doFinal(plaintext.getBytes());
System.out.println("密文:" + new String(ciphertext));
// 解密
des.init(Cipher.DECRYPT_MODE, secretKey);
byte[] decryptedtext = des.doFinal(ciphertext);
System.out.println("明文:" + new String(decryptedtext));
}
}
```
这里使用了Java内置的加密库,首先创建一个DES算法实例,然后创建一个密钥,接着使用密钥进行加密和解密。需要注意的是,密钥的长度必须是8个字节,所以我们将字符串类型的密钥转换为字节数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)