简单的文本加解密java
时间: 2023-10-20 09:20:10 浏览: 33
以下是一个简单的文本加解密 Java 代码示例:
```java
public class TextEncryptorDecryptor {
private static final String SECRET_KEY = "mySecretKey";
public static String encrypt(String text) {
try {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
SecretKeySpec secretKey = new SecretKeySpec(SECRET_KEY.getBytes(), "AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
return Base64.getEncoder().encodeToString(cipher.doFinal(text.getBytes()));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String decrypt(String encryptedText) {
try {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
SecretKeySpec secretKey = new SecretKeySpec(SECRET_KEY.getBytes(), "AES");
cipher.init(Cipher.DECRYPT_MODE, secretKey);
return new String(cipher.doFinal(Base64.getDecoder().decode(encryptedText)));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args) {
String originalText = "Hello, World!";
String encryptedText = encrypt(originalText);
String decryptedText = decrypt(encryptedText);
System.out.println("Original text: " + originalText);
System.out.println("Encrypted text: " + encryptedText);
System.out.println("Decrypted text: " + decryptedText);
}
}
```
这个代码使用 AES 对称加密算法进行加解密,使用 ECB 模式和 PKCS5Padding 填充方式。SECRET_KEY 可以自行设置,用于生成密钥。在加密时,将原始文本转换为字节数组,使用密钥初始化 Cipher 对象,然后对原始文本进行加密,并将结果转换为 Base64 编码字符串。在解密时,将加密后的字符串解码为字节数组,使用密钥初始化 Cipher 对象,然后对加密后的字节数组进行解密,并将结果转换为字符串。
注意:这个代码只是一个简单的示例,不适用于生产环境。在实际应用中,需要根据具体需求选择更加安全可靠的加密算法和密钥管理方式。