Migration de Mcrypt vers OpenSSL
Votre implémentation actuelle utilise Mcrypt pour le chiffrement, mais vous envisagez de passer à OpenSSL. Le chiffre Blowfish de Mcrypt en mode ECB présente des différences par rapport à OpenSSL, telles que l'exigence d'une longueur IV de 56 pour Mcrypt et de 0 pour OpenSSL.
Pour migrer les modules de manière transparente :
Comprendre la différence de remplissage :
Remplissage manuel :
Initialisation IV :
Considérations sur la longueur de clé :
Rechiffrement :
Exemple de code :
$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);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!