Maison  >  Article  >  développement back-end  >  Quelle est la méthode de cryptage et de décryptage php ?

Quelle est la méthode de cryptage et de décryptage php ?

藏色散人
藏色散人original
2021-07-15 09:20:376740parcourir

Comment implémenter le cryptage et le décryptage PHP : 1. Vous pouvez utiliser la méthode "openssl_encrypt" pour implémenter le cryptage ; 2. Utilisez la méthode "openssl_decrypt" pour implémenter le décryptage.

Quelle est la méthode de cryptage et de décryptage php ?

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Articles connexes recommandés : "Comment crypter et décrypter PHP ? Méthodes de cryptage et de décryptage PHP》《Quels sont les outils de cryptage et de décryptage PHP》《Classes de traitement de cryptage et de décryptage implémentées par PHP

Quelles sont les méthodes de cryptage et de décryptage de PHP ?

php implémente le cryptage et le décryptage AES

En php, nous utilisons openssl_encrypt pour implémenter le cryptage et openssl_decrypt pour implémenter le décryptage

1 : Explication détaillée de la méthode openssl_encrypt :

openssl_encrypt($data, $method, $key, $options = 0, $iv = "", &$tag = NULL, $aad = "", $tag_length = 16)

Paramètres :

1.$data : crypté brut text

2.$method : Méthode de cryptage : Vous pouvez obtenir les méthodes de cryptage via openssl_get_cipher_methods()

3.$passwd : Clé de cryptage [mot de passe]

4.$options : Options de format de données (facultatif) [Les options sont : ] : 0, OPENSSL_RAW_DATA=1, OPENSSL_ZERO_PADDING=2, OPENSSL_NO_PADDING=3

5.$iv : Vecteur d'initialisation dense (facultatif), attention : si la méthode est DES−ECB, iv n'a pas besoin d'être renseigné

6.$tag : Transmettez la balise d'authentification référencée lors de l'utilisation du mode de chiffrement AEAD (GCM ou CCM) (facultatif)

7.$aad : Données d'authentification supplémentaires. (Facultatif)

8.$tag_length : Vérifiez la longueur de la balise. En mode GCM, sa plage est de 4 à 16 (facultatif)

2 : Explication détaillée de la méthode openssl_decrypt

openssl_decrypt($data, $method, $password, $options = 1, $iv = "", $tag = "",  $aad = "")

Paramètres :

1.$data : Le message crypté à déchiffrer.

2.$method : Méthode de décryptage : Vous pouvez obtenir les méthodes de décryptage via openssl_get_cipher_methods()

3.$passwd : Clé de décryptage [mot de passe]

4.$options : Options de format de données (facultatif) [Les options sont :] : 0, OPENSSL_RAW_DATA=1, OPENSSL_ZERO_PADDING=2, OPENSSL_NO_PADDING=3

5.$iv : Vecteur d'initialisation dense (facultatif), attention : si la méthode est DES−ECB, iv n'a pas besoin d'être renseigné

6 .$ tag : Balise d'authentification en mode mot de passe AEAD (facultatif)

7.$aad : Données d'authentification supplémentaires. (Facultatif)

Trois : implémenter le cryptage et le décryptage AES

1 : cryptage AES

// 要加密的字符串  
$data = 'test';  
// 密钥  
$key = '123456';  
// 加密数据 'AES-128-ECB' 可以通过openssl_get_cipher_methods()获取  
$encrypt = openssl_encrypt($data, 'AES-128-ECB', $key, 0);  
echo (($encrypt));

2 : décryptage AES

//解密字符串  
$encrypt = '***';  
//密钥  
$key = '123456';  
// 解密数据  
$decrypt = openssl_decrypt($encrypt, 'AES-128-ECB', $key, 0);  
echo $decrypt;

Selon ce qui précède, vous pouvez implémenter la fonction de cryptage et de décryptage AES

Apprentissage recommandé : "PHP tutoriel vidéo

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn