Maison > Article > développement back-end > Utilisation de la bibliothèque de fonctions de chiffrement et de décryptage PHP
Utilisation de la bibliothèque de fonctions de cryptage et de décryptage PHP
Alors que les problèmes de sécurité des réseaux deviennent de plus en plus importants, le cryptage est devenu un élément indispensable de la technologie réseau moderne. En PHP, la bibliothèque de fonctions de chiffrement et de déchiffrement fournit de nombreuses fonctions de chiffrement et de déchiffrement, qui peuvent être utilisées pour traiter des informations sensibles et assurer la sécurité des données. Cet article présentera l'utilisation de la bibliothèque de fonctions de chiffrement et de décryptage PHP.
1. Fonctions de cryptage et de décryptage couramment utilisées
Le cryptage md5 est une méthode de cryptage irréversible qui est souvent utilisée pour stocker les mots de passe et vérifier l'intégrité des fichiers. L'utilisation est très simple, par exemple :
$message = 'password'; $encrypted = md5($message);
le cryptage sha1 est également une méthode de cryptage irréversible, et son utilisation est similaire au cryptage md5. Par exemple :
$message = 'password'; $encrypted = sha1($message);
le cryptage base64 est une méthode de cryptage réversible adaptée au codage de données binaires au format de caractères ASCII. Par exemple :
$message = 'password'; $encrypted = base64_encode($message);
le décryptage base64 peut utiliser la fonction base64_decode. Par exemple :
$encrypted = 'cGFzc3dvcmQ='; $message = base64_decode($encrypted);
Le cryptage AES fournit une méthode de cryptage réversible qui peut être utilisée pour protéger la transmission et le stockage des données. L'utilisation est la suivante :
$message = 'password'; $key = 'mysecretkey'; $encrypted = openssl_encrypt($message, 'AES-256-CBC', $key);
Où, 'AES-256-CBC' est l'algorithme de cryptage et $key est la clé. Le décryptage AES peut utiliser la fonction openssl_decrypt. Par exemple :
$encrypted = 'G0TzOGxUWSJ2XOGVTYaZDFtB26oTVPqsIiL0FmzNVcA='; $key = 'mysecretkey'; $message = openssl_decrypt($encrypted, 'AES-256-CBC', $key);
Le cryptage RSA fournit un moyen de cryptage par clé publique et de déchiffrement par clé privée, adapté aux scénarios de cryptage de données courants. L'utilisation est la suivante :
Générez d'abord la clé publique et la clé privée :
$privKey = openssl_pkey_new(array( 'private_key_bits' => 1024, 'private_key_type' => OPENSSL_KEYTYPE_RSA, )); openssl_pkey_export($privKey, $pkey); $pubKey = openssl_pkey_get_details($privKey); $pubKey = $pubKey['key'];
Utilisez ensuite la clé publique pour chiffrer :
$message = 'password'; $encrypted = ''; $success = openssl_public_encrypt($message, $encrypted, $pubKey);
Le décryptage RSA peut utiliser la fonction openssl_private_decrypt. Par exemple :
$encrypted = ''; $message = ''; $success = openssl_private_decrypt($encrypted, $message, $privKey);
2. Utilisation du module de cryptage et de décryptage
Dans les applications réelles, nous devrons peut-être utiliser un module de cryptage et de décryptage complet pour gérer la sécurité des données. En PHP, il existe d'excellents modules de cryptage et de décryptage, tels que mcrypt et sodium. Ce qui suit décrit comment utiliser ces deux modules.
le module mcrypt est un module de cryptage et de décryptage largement utilisé en PHP, fournissant une variété d'algorithmes de cryptage symétriques et d'algorithmes de cryptage asymétriques. L'utilisation est la suivante :
Définissez d'abord la clé et le vecteur d'initialisation :
$key = 'mysecretkey'; $iv = mcrypt_create_iv( mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_RAND);
Utilisez ensuite la fonction mcrypt_encrypt pour chiffrer :
$message = 'password'; $encrypted = mcrypt_encrypt( MCRYPT_RIJNDAEL_256, $key, $message, MCRYPT_MODE_CBC, $iv );
mcrypt Le décryptage peut utiliser la fonction mcrypt_decrypt. Par exemple :
$decrypted = mcrypt_decrypt( MCRYPT_RIJNDAEL_256, $key, $encrypted, MCRYPT_MODE_CBC, $iv ); $decrypted = rtrim($decrypted, ""); echo $decrypted;
module sodium est un module de cryptage et de décryptage introduit dans PHP7 et versions ultérieures. Il fournit de nombreuses fonctionnalités de cryptage avancées, telles que des fonctions de hachage de mot de passe et des algorithmes de signature numérique. L'utilisation est la suivante :
Générez d'abord la clé :
$key = sodium_crypto_secretbox_keygen();
Utilisez ensuite la fonction sodium_crypto_secretbox pour chiffrer :
$message = 'password'; $nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $encrypted = sodium_crypto_secretbox($message, $nonce, $key);
le décryptage du sodium peut utiliser la fonction sodium_crypto_secretbox_open. Par exemple :
$decrypted = sodium_crypto_secretbox_open($encrypted, $nonce, $key); if ($decrypted === false) { throw new Exception('Failed to decrypt message'); } echo $decrypted;
3. Résumé
Aujourd'hui, alors que la sécurité des réseaux est de plus en plus importante, le cryptage est devenu une technologie essentielle pour protéger la confidentialité des données. PHP fournit une multitude de bibliothèques et de modules de fonctions de cryptage et de décryptage. Les développeurs peuvent choisir la méthode de cryptage la plus appropriée en fonction des différents besoins pour garantir la sécurité des données. Grâce à l'introduction de cet article, je pense que les lecteurs maîtrisent l'utilisation de base de la bibliothèque de fonctions de chiffrement et de décryptage PHP et l'utilisation des modules de chiffrement et de décryptage couramment utilisés.
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!