Bonjour,
Je compte mettre en place cet algorithme de cryptage/décryptage pour sécuriser les données transitant dans mon projet web. J'aimerais votre avis sur la fiabilité du code en terme de sécurité et s'il y a des choses à améliorer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php class Cipher { private $securekey, $iv; //clé privée en paramètre de la classe function __construct($textkey) { $this->securekey = hash('sha256',$textkey,TRUE); //construction et hashage de la clé privée en SHA-256 $this->iv = mcrypt_create_iv(32); } function encrypt($input) { //fonction d'encryptage algorithme blowfish sur base de la clé privée return base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, $this->securekey, $input, MCRYPT_MODE_ECB, $this->iv)); } function decrypt($input) { //décryptage return trim(mcrypt_decrypt(MCRYPT_BLOWFISH, $this->securekey, base64_decode($input), MCRYPT_MODE_ECB, $this->iv)); } } $cipher = new Cipher('secret passphrase'); //création de l'objet avec une pass phrase $encryptedtext = $cipher->encrypt("hide me"); //encryptage du texte echo "->encrypt = $encryptedtext<br />"; //affiche texte encrypté $decryptedtext = $cipher->decrypt($encryptedtext); //décryptage du texte echo "->decrypt = $decryptedtext<br />"; //affichage du texte décrypté //var_dump($cipher); ?>







Répondre avec citation
Partager