AES/CBC/PKCS5Padding代码实现解密
时间: 2023-08-05 17:10:04 浏览: 101
当然,我可以帮你提供一个示例代码来实现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 AESCBCDecrypt {
public static void main(String[] args) throws Exception {
String key = "0123456789abcdef"; // 密钥,16字节
String iv = "0123456789abcdef"; // 初始化向量,16字节
String encryptedText = "3jRcM7XhTV2v7RQMNr6vYw=="; // 加密后的文本
byte[] keyBytes = key.getBytes(StandardCharsets.UTF_8);
byte[] ivBytes = iv.getBytes(StandardCharsets.UTF_8);
byte[] encryptedBytes = Base64.getDecoder().decode(encryptedText);
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec secretKeySpec = new SecretKeySpec(keyBytes, "AES");
IvParameterSpec ivParameterSpec = new IvParameterSpec(ivBytes);
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec);
byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
String decryptedText = new String(decryptedBytes, StandardCharsets.UTF_8);
System.out.println("Decrypted text: " + decryptedText);
}
}
```
请确保你在使用之前已经安装了Java的开发环境。以上代码会将密文解密为明文并输出。
注意:在实际使用中,请确保密钥和初始化向量的安全性,并采取适当的措施来保护它们,例如使用加密存储或密钥管理系统。
阅读全文