PHP OpenSSL加密与DES-CBC算法意外输出

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

我想更改给定数据库的所有密码。所有这些密码都是用DES CBC PKCS7加密的,我有密钥和初始化向量。我使用了下一个网页来解密一个密码,结果是预期的(使用选项DES、CBC和PKCS7)

键:RRZy0njZDzw=

iv:p/34qWLNYfg=

纯文本123123

加密文本x541kJ4KvJo=

但当下一个用PHP编写的代码时,我无法复制结果:

<?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=");