【发布时间】:2018-08-16 14:54:05
【问题描述】:
我有这个问题,在 python 中使用 aes 256 cbc 加密对某些内容进行了加密,如 python 代码加密方法所示。
我正在尝试在 php 中创建一个 Decrypt 方法来实际解密使用 python 类加密的内容。
这是我将 python 解密方法转换为 php 的尝试,它看起来是正确的还是我在转换中遗漏了什么,因为每次我使用 php 版本解密时都说 hmac 失败?
任何将 python 类转换为 php 的帮助,我将不胜感激。
public function decrypt(){
$encrypt_method ="AES-256-CBC";
$secret_key =base64_decode('samekeyusedintheencryption');
$encrypted=(string)'some encrypted text to be decrypted';
$data=json_decode(base64_decode($encrypted),true);
$secret_iv =base64_decode($data['iv']);
$output = \openssl_decrypt($data['value'],
$encrypt_method,$secret_key,0,$secret_iv);
return json_encode($output);
}
def decrypt(self, payload):
data = json_c.decode(base64.b64decode(payload))
value = base64.b64decode(data['value'])
iv = base64.b64decode(data['iv'])
crypt_object=AES.new(self.key,AES.MODE_CBC,iv)
plaintext = crypt_object.decrypt(value)
return loads(plaintext)
【问题讨论】:
标签: php python encryption aes