chiffrement et surtout dé chiffrement

Par utilisateur, il y a 5 ans


Bonjour le gens,

Pour protéger les données d'une base de donnée, je me suis dit que je pouvais chiffrer les mails, noms, adresse, téléphone.... (les stocker chiffrés)
Bon le haschage + grain de sable ça c'est ok j'utilise :

hash('ripemd320' , $salage);

Mais pour faire l'inverse ? c'est à dire retrouver la donnée en clair c'est possible ? si oui comment ?

Merci par avance pour votre aide

8 réponses

utilisateur, il y a 5 ans

ha oui ok merci Bidule

Balsakup, il y a 5 ans

Salut,

Attention aux termes employés @bidule, crypter n'est pas un mot qui existe https://chiffrer.info/

bidule, il y a 5 ans

Bien vu ;)

utilisateur, il y a 5 ans

heu .... mince crypt() est obsolète... bon les données c'est pas celles de la banque de France mais bon....

du coup je sais pas vers quoi l'orienter

utilisateur, il y a 5 ans
  • mcrypt()
bidule, il y a 5 ans

salut,

Sodium est une extension Core de PHP 7.2, donc tu peux l'utiliser directement.

utilisateur, il y a 5 ans

Merci bidule pour ton aide

OVH ne prends pas en charge libsodium dans mon cas du coup j'essaye d'utiliser Open SSL mais je n'arrive pas à décrypter le texte crypté, tu aurais une idée ?

function chiffrement($mot){ //$key devrait être généré précédement dune manière cryptographique, tel que openssl_random_pseudo_bytes $plaintext = $mot; $ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC"); $iv = openssl_random_pseudo_bytes($ivlen); $ciphertext_raw = openssl_encrypt($plaintext, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv); $hmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true); $ciphertext = base64_encode( $iv.$hmac.$ciphertext_raw ); return $ciphertext; }

fonctionne le texte est crypté

function dechiffrement($ciphertext){ // déchifrrer plus tard ... $c = base64_decode($ciphertext); $ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC"); $iv = substr($c, 0, $ivlen); $hmac = substr($c, $ivlen, $sha2len=32); $ciphertext_raw = substr($c, $ivlen+$sha2len); $original_plaintext = openssl_decrypt($ciphertext_raw, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv); $calcmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true); if (hash_equals($hmac, $calcmac))//PHP 5.6+ timing attack safe comparison { return $original_plaintext; } }

ne fonctionne pas j'ai rien dans le retour de la fonction dechriffrement !? (c'est une adaptation de l'exemple 2 https://www.php.net/manual/fr/function.openssl-encrypt.php)

Je galère...