3

私は PHP でいくつかのサーバー コードを書いています。Perl で書かれたオフライン プロセスがあり、暗号化された文字列を介して通信する必要があります。PHPで私は使用しています:

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

基本的に、Perl を使用してまったく同じ文字列出力を実現したいと考えています。私がこれを行う方法についての助けをいただければ幸いです。ありがとう!

4

1 に答える 1

5

私はそれを理解し、PerlとPHPで文字列を暗号化する同一の出力を再現できるようになりました。

Perl:

Crypt::CBCを使用します。
MIME::Base64を使用します;

私の$cipher= Crypt :: CBC-> new(
    {{
        'キー'=>'length16length16'、
        '暗号'=>'Crypt:: OpenSSL :: AES'、
        'iv' => '1234567812345678'、
        'literal_key' => 1、
        'ヘッダー'=>'なし'、
        キーサイズ=>128/8
    }
);

print encode_base64($ cipher-> encode($ my_string)、 "");

PHP:

echo openssl_encrypt($ my_string、 "aes-128-cbc"、 "length16length16"、true、 "1234567812345678");
于 2012-10-19T19:33:02.020 に答える