Perl 和 PHP 之间的解码/编码 openssl aes cbc 字符串

Vij*_*ati 3 php perl openssl aes cbc-mode

我正在用 PHP 编写一些服务器代码,我有一个用 Perl 编写的离线进程,它们需要通过加密字符串进行通信。在 PHP 中,我一直在使用:

$encrypted_string = openssl_encrypt($my_string, "aes-128-cbc", "my_password", true, "1234567812345678");

我基本上想使用 Perl 实现完全相同的字符串输出。对我如何做到这一点的任何帮助表示赞赏。谢谢!

Vij*_*ati 5

我想通了,现在可以在 Perl 和 PHP 中重现加密字符串的相同输出:

珀尔:

使用 Crypt::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");