AES/CBC/PKCS5Padding代码实现加密
时间: 2023-08-09 07:04:31 浏览: 195
AES/CBC/PKCS5Padding/ 加解密
3星 · 编辑精心推荐
当然,我可以为你提供一个示例代码来实现AES/CBC/PKCS5Padding的加密。以下是一个使用Java语言实现的示例:
```java
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class AESCBCEncrypt {
public static void main(String[] args) throws Exception {
String key = "0123456789abcdef"; // 密钥,16字节
String iv = "0123456789abcdef"; // 初始化向量,16字节
String plaintext = "Hello, World!"; // 明文
byte[] keyBytes = key.getBytes(StandardCharsets.UTF_8);
byte[] ivBytes = iv.getBytes(StandardCharsets.UTF_8);
byte[] plaintextBytes = plaintext.getBytes(StandardCharsets.UTF_8);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec secretKeySpec = new SecretKeySpec(keyBytes, "AES");
IvParameterSpec ivParameterSpec = new IvParameterSpec(ivBytes);
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, ivParameterSpec);
byte[] encryptedBytes = cipher.doFinal(plaintextBytes);
String encryptedText = Base64.getEncoder().encodeToString(encryptedBytes);
System.out.println("Encrypted text: " + encryptedText);
}
}
```
请确保在使用之前已经安装了Java的开发环境。以上代码将明文加密为密文并输出。
注意:在实际使用中,请确保密钥和初始化向量的安全性,并采取适当的措施来保护它们,例如使用加密存储或密钥管理系统。
阅读全文