背景:
您的PHP 應用程式Mcrypt 進行資料加密Blowfish 密碼和ECB 模式。但是,您面臨遷移到 OpenSSL 進行加密的挑戰。
主要差異:
解決方案:
要無縫遷移而無需大量重新編碼,請按照以下步驟操作:
重新建立加密資料:之前手動用PKCS#7填充資料使用Mcrypt對其進行加密。下面提供了範例程式碼:
$key = "anotherpassword1"; $str = "does it work 12"; $enc = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $str."", MCRYPT_MODE_ECB);
使用 OpenSSL 解密: 重新建立加密資料後,使用 OpenSSL使用正確的密碼解密,並模式:
$key = "anotherpassword1"; $enc = "0e93dce9a6a88e343fe5f90d1307684c"; $dec = openssl_decrypt($enc, 'bf-ecb', $key, true); echo $dec;
注意:您提到Mcrypt(56)和OpenSSL(0)需要不同的IV長度。但是,ECB 模式不使用 IV。
按照以下步驟,您可以從 Mcrypt 遷移到 OpenSSL,無需進行大量程式碼修改,確保與現有加密資料的兼容性。
以上是如何在不進行重大程式碼變更的情況下從 Mcrypt 遷移到 OpenSSL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!