Résumé : Mcrypt 2.4.7 est une puissante bibliothèque d'extension d'algorithmes de chiffrement, qui comprend 22 algorithmes, dont les algorithmes suivants :
Blowfish RC2 Safer-sk64 xtea
Cast-256 RC4 Safer-sk128
DES RC4-iv Serpent
Enigma Rijndael-128 à trois
Gost Rijndael-192 TripleDES
LOKI97 Rijndael-256 Deux poissons
Comment installer Mcrypt
dans PanamaSaferplus Wake
?Mcrypt n'est pas inclus dans le package PHP standard, vous devez donc le télécharger. L'adresse de téléchargement est : ftp://argeas.cs-net.gr/pub/unix/mcrypt/ . Après le téléchargement, compilez-le et étendez-le en PHP comme suit :
Téléchargez le package Mcrypt.
gunzipmcrypt-xxxtar.gz
tar -xvfmcrypt-xxxtar
./configure --disable-posix-threads
faire
faire installer
cd dans votre répertoire PHP.
./configure -with-mcrypt=[dir] [--other-configuration-directives]
faire
make install
apporte les modifications appropriées au serveur en fonction de vos besoins et de l'installation de PHP.
Comment utiliser la bibliothèque d’extensions Mcrypt pour crypter des données ?
Tout d’abord, nous expliquerons comment utiliser la bibliothèque d’extensions Mcrypt pour crypter des données, puis nous expliquerons comment l’utiliser pour décrypter. Le code suivant illustre ce processus. Il chiffre d'abord les données, puis affiche les données chiffrées sur le navigateur, restaure les données chiffrées dans la chaîne d'origine et les affiche sur le navigateur.
Utiliser Mcrypt pour crypter et décrypter les données
<?php
// Désigne la chaîne à chiffrer
$string = "La cryptographie appliquée, par Bruce Schneier, est
une merveilleuse référence en matière de cryptographie.";
// Clé de cryptage/déchiffrement
$key = "Il y a quatre vingt ans" ;
// Algorithme de cryptage
$cipher_alg = MCRYPT_RIJNDAEL_128;
// Crée le vecteur d'initialisation pour plus de sécurité.
$iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher_alg,
MCRYPT_MODE_ECB), MCRYPT_RAND);
// Sortie de la chaîne originale
print "Chaîne d'origine : $string
";
// Chiffrer $string
$encrypted_string = mcrypt_encrypt($cipher_alg, $key,
$string, MCRYPT_MODE_CBC, $iv);
// Convertir en hexadécimal et afficher dans le navigateur
print "Chaîne cryptée : ".bin2hex($encrypted_string)."
";
$decrypted_string = mcrypt_decrypt($cipher_alg, $key,
$encrypted_string, MCRYPT_MODE_CBC, $iv);
print "Chaîne déchiffrée : $decrypted_string" ;
?>
L'exécution du script ci-dessus produira le résultat suivant :
Chaîne originale : Applied Cryptography, par Bruce Schneier, est une merveilleuse référence de cryptographie
: 02a7c58b1ebd22a9523468694b091e60411cc4dea8652bb8072 34fa06bbfb20e71ecf525f29df58e28f3d9bf. 541f7ebcecf62b c89fde4d8e7ba1e6cc9ea24850478c11742f5cfa1d23fe22fe8 bfbab5e
Chaîne décryptée : Applied Cryptography, de Bruce Schneier, est une merveilleuse référence en matière de cryptographie.
Les deux fonctions les plus typiques du code ci-dessus sont mcrypt_encrypt() et mcrypt_decrypt(), et leurs utilisations sont évidentes. Nous avons utilisé le mode "Telegraph Codebook". Mcrypt propose plusieurs méthodes de cryptage étant donné que chaque méthode de cryptage comporte des caractères spécifiques qui peuvent affecter la sécurité du mot de passe, vous devez comprendre chaque mode. Pour les lecteurs qui n'ont pas été exposés aux systèmes de cryptographie, ils seront peut-être plus intéressés par la fonction mcrypt_create_iv(). Nous mentionnerons le vecteur d'initialisation (donc iv) qu'elle crée, qui peut rendre chaque information indépendante les unes des autres. Bien que tous les modes ne nécessitent pas cette variable d'initialisation, PHP affichera un message d'avertissement si cette variable n'est pas fournie dans le mode requis.