import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.util.Base64;
public class EncryptionExample {
public static void main(String[] args) throws Exception {
// 生成对称密钥
KeyGenerator keyGen = KeyGenerator.getInstance("AES");
keyGen.init(256); // AES密钥长度为256位
SecretKey secretKey = keyGen.generateKey();
// 创建Cipher对象
Cipher cipher = Cipher.getInstance("AES");
// 加密数据
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encryptedData = cipher.doFinal("Sensitive data".getBytes());
// 将加密后的数据转换为Base64编码的字符串
String encryptedDataString = Base64.getEncoder().encodeToString(encryptedData);
System.out.println("Encrypted data: " + encryptedDataString);
// 解密数据
cipher.init(Cipher.DECRYPT_MODE, secretKey);
byte[] decryptedData = cipher.doFinal(Base64.getDecoder().decode(encryptedDataString));
System.out.println("Decrypted data: " + new String(decryptedData));
}
}
学习安全编程使我能够使用Java的加密和安全管理工具,确保应用程序的数据安全性和完整性。了解如何实现数据加密、数字签名和安全传输,是保护敏感信息和应对安全挑战的关键技能
浙公网安备 33010602011771号