Maison >développement back-end >tutoriel php >Bibliothèque d'extension de chiffrement PHP Installation de Mcrypt et exemples

Bibliothèque d'extension de chiffrement PHP Installation de Mcrypt et exemples

怪我咯
怪我咯original
2017-07-05 10:56:021538parcourir

Les bibliothèques d'extensions de chiffrement PHP incluent Mcrypt et Mhash. Parmi elles, la bibliothèque d'extensions Mcrypt peut implémenter des fonctions de chiffrement et de décryptage. Aujourd'hui, nous parlons des fonctions et des exemples de Mcrypt

Une brève introduction à mcrypt<.>Programmeurs PHP Lors de l'écriture de programmes de code, en plus d'assurer les hautes performances du code, un autre point très important est la sécurité du programme. En plus de plusieurs de ses propres fonctions de chiffrement, PHP dispose également de bibliothèques d'extensions de chiffrement PHP plus complètes, Mcrypt et Mhash.
Parmi elles, la bibliothèque d'extensions Mcrypt peut réaliser des fonctions de cryptage et de déchiffrement, c'est-à-dire qu'elle peut crypter du texte brut et restaurer du texte chiffré.
mcrypt est une importante bibliothèque d'extension de support de chiffrement en PHP Dans l'environnement Linux : cette bibliothèque n'est pas activée par défaut. Dans l'environnement fenêtre : PHP>=5.3, l'extension mcrypt est activée par défaut.
1. Installation de la bibliothèque Mcrypt()
mcypt est une bibliothèque d'extension d'algorithme de chiffrement très puissante. Mcrypt n'est pas installé lors du processus d'installation standard de PHP, mais le fichier libmcrypt.dll est inclus dans le répertoire personnel de PHP, il suffit donc de supprimer le point-virgule devant extension=php_mcrypt.dll dans cette ligne du fichier de configuration PHP. , puis redémarrez le serveur pour utiliser cette bibliothèque d'extensions.
Algorithmes et modes de cryptage pris en charge
La bibliothèque Mcrypt prend en charge plus de 20 algorithmes de cryptage et 8 modes de cryptage, qui peuvent être obtenus via les fonctions
mcrypt_list_algorithms() et mcrypt_list_modes( ) Afficher [1] Algorithme de cryptage Les algorithmes pris en charge par Mcrypt sont :
cast-128
gost
rijndael-128
twofish
arcfour
cast-256
loki97
rijndael-192
saferplus
wake
blowfish-compat
des
rijndael-256
serpent
xtea
blowfish
énigme
rc2
tripledes
Modes de cryptage
Les modes de cryptage pris en charge par Mcrypt sont :
cbc
cfb
ctr
ecb
ncfb
nofb
ofb
stream
Ces algorithmes et modes doivent être représentés par des constantes dans l'application Lors de l'écriture, ajoutez le préfixe MCRYPT_ et MCRYPT_ pour les représenter, comme dans l'

exemple suivant d'application Mcrypt

<.>Algorithme DES Il est exprimé par MCRYPT_DES ; Je ne le dis pas à la plupart des gens !

Texte chiffré : 鍍??]??q???L Rire????"? ?

Restaurer : Je m'appelle ? Je ne le dirai pas aux gens ordinaires !
f35d6e602fd7d0f0edfa6f7d103c1b57À partir de l'exemple On peut voir qu'avant d'utiliser la bibliothèque d'extension de chiffrement PHP Mcrypt pour chiffrer et déchiffrer des données, un vecteur d'initialisation est d'abord créé, appelé iv. Le vecteur d'initialisation est créé comme $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes) ,MCRYPT_RAND); Deux paramètres sont requis : size spécifie la taille de iv ; la source est la source de iv, où la valeur MCRYPT_RAND est le nombre aléatoire du système
2cc198a1d5eb0d3eb508d858c9f5cbdb renvoie la taille du vecteur d'initialisation, et les paramètres chiffre et mode font respectivement référence à l'algorithme et au mode de chiffrement

5bdf4c78156c7953567bb5a0aef2fc53 ; Les cinq paramètres de cette fonction sont les suivants : chiffre—— Algorithme de chiffrement, clé - clé, data(str) - données à chiffrer, mode - mode algorithme, iv - vecteur d'initialisation

23889872c2e8594e0f446a471a78ec4c ($cipher,$key,$str_encrypt ,$modes,$iv); Les paramètres de cette fonction et de la fonction de chiffrement

<?php
$str = "我的名字是?一般人我不告诉他!"; //加密内容
$key = "key:111"; //密钥
$cipher = MCRYPT_DES; //密码类型
$modes = MCRYPT_MODE_ECB; //密码模式
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$modes),MCRYPT_RAND);//初始化向量
echo "加密明文:".$str."<p>";
$str_encrypt = mcrypt_encrypt($cipher,$key,$str,$modes,$iv); //加密函数
echo "加密密文:".$str_encrypt." <p>";
$str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$modes,$iv); //解密函数
echo "还原:".$str_decrypt;
?>
sont presque les mêmes. La seule différence réside dans les données, ce qui signifie que les données sont les données. qui doit être déchiffré $str_encrypt, pas les données d'origine $str. 🎜>Remarque : les paramètres chiffrement, clé et mode dans les fonctions de cryptage et de décryptage doivent correspondre un à un, sinon les données ne peuvent pas être restaurées


Résumé
Constantes de la bibliothèque mcrypt
La bibliothèque Mcrypt prend en charge plus de 20 algorithmes de cryptage Et 8 modes de cryptage peuvent être visualisés via les fonctions mcrypt_list_algorithms() et mcrypt_list_modes().

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