DES加密算法java实现代码密钥自己输入
时间: 2024-01-22 07:18:25 浏览: 77
以下是DES加密算法的Java实现代码,可供参考:
```java
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.Scanner;
public class DESDemo {
public static void main(String[] args) throws Exception {
// 从用户输入中获取密钥
Scanner scanner = new Scanner(System.in);
System.out.print("请输入密钥:");
String keyStr = scanner.nextLine();
// 将密钥转换成字节数组
byte[] keyBytes = keyStr.getBytes();
// 生成DES密钥
SecretKey secretKey = new SecretKeySpec(keyBytes, "DES");
// 创建加密器
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
// 获取待加密的明文
System.out.print("请输入明文:");
String plainText = scanner.nextLine();
byte[] plainBytes = plainText.getBytes();
// 加密明文
byte[] cipherBytes = cipher.doFinal(plainBytes);
// 将密文进行Base64编码
String cipherText = Base64.getEncoder().encodeToString(cipherBytes);
System.out.println("密文:" + cipherText);
}
}
```
该代码实现了从用户输入中获取密钥并加密明文的功能。另外,该实现使用了ECB模式和PKCS5Padding填充方式。注意:ECB模式是一种不安全的模式,不建议使用。
阅读全文