Maison >développement back-end >tutoriel php >Quelles sont les alternatives sécurisées à l'extension mcrypt obsolète pour le cryptage et le déchiffrement des mots de passe ?
Alternative à l'extension mcrypt obsolète pour le cryptage de mot de passe
L'extension mcrypt, précédemment utilisée pour le cryptage de mot de passe, est obsolète et sera supprimée entièrement en PHP 7.2. Cela soulève des inquiétudes quant à la recherche d'une alternative appropriée pour le cryptage sécurisé des mots de passe.
Approche recommandée : hachage de mot de passe
En tant que bonne pratique, il est fortement recommandé de hacher les mots de passe plutôt que de les chiffrer. Le hachage convertit les mots de passe en valeurs irréversibles, ce qui rend impossible aux attaquants de récupérer le mot de passe d'origine même s'ils accèdent à votre base de données ou à vos fichiers.
Méthodes de cryptage alternatives
Cependant, si vous avez besoin de chiffrer vos mots de passe et de pouvoir les déchiffrer, les options suivantes sont disponibles. recommandé :
Exemple de code
Pour utiliser l'une de ces alternatives, vous pouvez suivez une structure similaire à votre mcrypt d'origine code :
// Generate a secure random initialization vector $iv = random_bytes(16); // Encrypt the password using AES-256 in CBC mode // Note: Replace key with a securely generated encryption key $encrypted = openssl_encrypt($string, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); // Store the encrypted password and initialization vector for later decryption
Déchiffrement
Le déchiffrement peut être effectué en utilisant la même bibliothèque et la même clé :
// Decrypt the encrypted password using AES-256 in CBC mode $decrypted = openssl_decrypt($encrypted, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);
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!