PHP OpenSSL加密与DES-CBC算法意外输出
我想更改给定数据库的所有密码。所有这些密码都是用DES CBC PKCS7加密的,我有密钥和初始化向量。我使用了下一个网页来解密一个密码,结果是预期的(使用选项DES、CBC和PKCS7) 键:RRZy0njZDzw= iv:p/34qWLNYfg= 纯文本123123 加密文本x541kJ4KvJo= 但当下一个用PHP编写的代码时,我无法复制结果:PHP OpenSSL加密与DES-CBC算法意外输出,php,des,php-openssl,Php,Des,Php Openssl,我想更改给定数据库的所有密码。所有这些密码都是用DES CBC PKCS7加密的,我有密钥和初始化向量。我使用了下一个网页来解密一个密码,结果是预期的(使用选项DES、CBC和PKCS7) 键:RRZy0njZDzw= iv:p/34qWLNYfg= 纯文本123123 加密文本x541kJ4KvJo= 但当下一个用PHP编写的代码时,我无法复制结果: <?php $key = "RRZy0njZDzw="; $iv = "p/34qWLNYfg="; $data
<?php
$key = "RRZy0njZDzw=";
$iv = "p/34qWLNYfg=";
$data = "123123";
$cipher='DES-CBC';
var_dump(openssl_get_cipher_methods());
$encrypted = openssl_encrypt($data,$cipher, $key,OPENSSL_RAW_DATA,$iv);
echo base64_encode($encrypted);
?>
有没有办法获得与在线工具相同的字符串?您需要从Base64解码密钥和IV:
$key = base64_decode("RRZy0njZDzw=");
$iv = base64_decode("p/34qWLNYfg=");
您需要从Base64解码密钥和IV:
$key = base64_decode("RRZy0njZDzw=");
$iv = base64_decode("p/34qWLNYfg=");