我正在用 PHP 编写一些服务器代码,并且我有一个用 Perl 编写的离线进程,它们需要通过加密字符串进行通信。在 PHP 中我一直在使用:
$encrypted_string = openssl_encrypt($my_string, "aes-128-cbc", "my_password", true, "1234567812345678");
我基本上想使用 Perl 实现完全相同的字符串输出。任何有关我将如何做到这一点的帮助表示赞赏。谢谢!
我想通了,现在可以重现在 Perl 和 PHP 中加密字符串的相同输出:
珀尔:
使用地穴::CBC;
使用 MIME::Base64;
我的 $cipher = Crypt::CBC->new(
{
'key' => 'length16length16',
'密码' => 'Crypt::OpenSSL::AES',
'iv' => '1234567812345678',
'literal_key' => 1,
'标题' => '无',
键大小 => 128 / 8
}
);
打印 encode_base64($cipher->encrypt($my_string), "");
PHP:
echo openssl_encrypt($my_string, "aes-128-cbc", "length16length16", true, "1234567812345678");