3

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

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

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

4

1 回答 1

5

我想通了,现在可以重现在 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");
于 2012-10-19T19:33:02.020 回答