PHP AES-128-CBC加密和解密

PHP AES-128-CBC加密和解密,php,encryption,Php,Encryption,我的PHP加密解密代码有问题。我创建了一个简单的AES-128-CBC类型进程来解密以下值,但未能获得预期值。所有值均为十六进制: 输入:343739343630303031323731323238 密钥:193932aca22387b868c8593a6bf38872 IV:2e221a3f4941b04a8f68f3bb8612596f 我可以从在线工具获得正确的值。请帮帮我。谢谢 我的PHP代码: <?php $input = '34373934343630303031323731

我的PHP加密解密代码有问题。我创建了一个简单的AES-128-CBC类型进程来解密以下值,但未能获得预期值。所有值均为十六进制:

输入:343739343630303031323731323238

密钥:193932aca22387b868c8593a6bf38872

IV:2e221a3f4941b04a8f68f3bb8612596f

我可以从在线工具获得正确的值。请帮帮我。谢谢

我的PHP代码:

<?php 
$input = '34373934343630303031323731323238';
$method = 'aes-128-cbc';
$key = '193932aca22387b868c8593a6bf38872';
$iv = '2e221a3f4941b04a8f68f3bb8612596f';

$encrypted = openssl_encrypt($input, $method, $key, OPENSSL_RAW_DATA, $iv);

echo 'Encrypted value: '.$encrypted;
?>


预期输出:4aad176e05980f02593be7e15b9458a587f4c36bbf9a6510c2c4b8ab842ca707这可能是编码问题,您看到了吗?您自己说过:所有值都是十六进制的。所以解码它们@kelalaka是的,我在php.net上查过。我尝试将所有值转换为十六进制,但仍未能获得预期结果。@Peter我尝试过,但我认为我的密钥和IV有问题。我按照指南将16字节的密钥和IV转换为预期值,但仍未能返回输入值。Convert
$input
$key
$iv
从十六进制字符串转换为相应的二进制字符串,以及
$encrypted
从二进制字符串转换为相应的十六进制字符串,并使用反向函数。然后结果与预期值匹配。这可能是编码问题,您看到了吗?您自己说过:所有值都是十六进制的。所以解码它们@kelalaka是的,我在php.net上查过。我尝试将所有值转换为十六进制,但仍未能获得预期结果。@Peter我尝试过,但我认为我的密钥和IV有问题。我按照指南将16字节的密钥和IV转换为预期值,但仍未能返回输入值。Convert
$input
$key
$iv
从十六进制字符串转换为相应的二进制字符串,以及
$encrypted
从二进制字符串转换为相应的十六进制字符串,并使用反向函数。然后,结果与预期值匹配。