Mcrypt から OpenSSL への移行
現在の実装では暗号化に Mcrypt を利用していますが、OpenSSL への移行を目指しています。 ECB モードの Mcrypt の Blowfish 暗号は、Mcrypt では IV 長が 56、OpenSSL では 0 が必要であるなど、OpenSSL とは異なります。
モジュールをシームレスに移行するには:
パディングを理解する違い:
手動パディング:
IV 初期化:
キーの長さに関する考慮事項:
再暗号化:
コード例:
$key = "anotherpassword1"; $str = "does it work 12"; // MCRYPT with PKCS#7 padding $iv = str_repeat("", 8); // Dummy IV for ECB $enc = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $str."", MCRYPT_MODE_ECB, $iv); // OpenSSL with PKCS#7 padding $enc = openssl_encrypt($str, 'bf-ecb', $key, true); // Decrypt with OpenSSL (requires re-encryption) // $dec = openssl_decrypt($enc, 'bf-ecb', $key, true); // echo var_dump($dec);
以上がBlowfish 暗号化のために Mcrypt から OpenSSL に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。