Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Cryptage, Salage, c'est quoi tout ça ?

Article posté le 20-11-2013 dans la catégorie PHP

Article mis à jour le : 05-05-2022

Explications et exemples du cryptage et du salage en PHP

Cryptage, salage, diificile pour le débutant de bien comprendre de quoi il s'agit tant on lit tout et parfois n'importe quoi sur ces éléments. Petit mémo pour se rafraichir la mémoire...

La fonction crypt()

Cette fonction est très utilisée pour le couple .htaccess - .htpsswd. Il ne s'agit d'un calcul, ce qui permet de ne pas stocker de mot de passe. Personnellement, je n'utilise jamais cette fonction en dehors du .htpsswd.

Exemple de code :

$texte = "Eric"; echo $texte."
"; $texte = crypt($texte); echo $texte;

Nous affichera:

Eric $1$/k1.ae..$2DEoodDdRKahAWxah134P.

Hachage

Le hachage est l'opération qui consiste à calculer l'empreinte numérique d'un fichier. Elle crée ainsi un résultat empêchant de revenir à la source. 

Il existe plusieurs fonctions pour hasher un mot de passe. La plus connue est la fonction MD5() qui permet le hash du même nom. Cependant, une faille a été découverte il y a déja fort longtemps, qui permet dans certains cas de trouver le mot de passe par correspondance, c'est à dire que deux mots de passe ont la même empreinte. Il faut donc éviter de l'utiliser.

Il vaut mieux utiliser le système SHA512 qui est une des clefs les plus sécurisées :

Exemple:

$texte = "Eric"; echo $texte."
"; $texte = hash("sha512", $texte); echo $texte;

donnera :

Eric edfd7242f73ee3112a47c44c0c12a5b42ed7253bbbf3ba4ee45b03ec6410af157d1fbaa36c58f96d7f85a58747853cc7914f31d3b08046ea8df3870df2a7497b

Salage

Enfin le salage est une technique de protection complémentaire au hashage. En effet, certains crackers utilisent des dictionnaires de correspondances pour les mots les plus courants, c'est à dire entre le mot en clair et le mort hashé. Pour se protéger, on peut utiliser le salage, qui rajoute une séquence de bit au mot de passe hashé pour le rendre unique. Une pratique intéressante et simple à mettre en oeuvre, consiste à ajouter un préfixe et un suffixe au mot de passe avant de le hasher.


Cet article vous a plu? Découvrez d'autres articles :


comments powered by Disqus