teol

Hash

Feb 20th, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.81 KB | None | 0 0
  1. <?php
  2. /* <teol91[at]gmail[.]com>
  3.  * Initialisation au hash de mot de passes avec salt
  4.  * Le Hash est, en gros, un cryptage irréversible.
  5.  * Le sel est une chaine de caractère supplémentaire ajoutée au mot de passe à hasher
  6.  * Le hash est indispensable, car si un pirate s'introduit dans la base de données, il ne doit pas avoir accès aux mots de passes "en clair".
  7.  * Le sel est une sécurité supplémentaire, pour rendre la tache des éventuels pirates très très fastidieuse.
  8. */
  9.  
  10. //Définition des variables
  11. $pass = 'topsecret'; //Mot de passe
  12. $pseudo = 'teol'; //Exemple de pseudo, qui peut servir de sel dynamique
  13. $sel_fixe = 'HxFeR5658_UiZa@42o'; //Exemple de clef, qui peut servir de sel fixe
  14.  
  15. //1- Hasher le mot de passe
  16. //Algorithme choisi : sha512, d'autres sont disponnibles, comme le sha1, sha256, whirpool...
  17. $pass_hashe = hash('sha512', $pass);
  18. // Le mot de passe est donc hashé, c'est normallement suffisant, mais il est quand même préférable de hasher, pour être sûr :)
  19.  
  20. //2- Sel fixe
  21. $pass_hashe_sel = hash('sha512', $pass.$sel_fixe);
  22. //C'est déjà plus sécurisé comme ça
  23.  
  24. //3- Sel fixe + sel dynamique
  25. $pass_hashe_sel_2x = hash('sha512', $pass.$sel_fixe.$pseudo);
  26. //Là, on peut considérer que le mot de passe est hashé de manière optimale
  27.  
  28. /* Une seule étape est suffisante, on peut commencer directement par hash('sha512', $pass.$sel_fixe.$pseudo).
  29.  * Il faut prendre en considération qu'un hashe consomme beaucoup de CPU, il faut donc l'utiliser que lorsque c'est nécessaire, c'est à dire :
  30.  * Pour le login, et l'inscription.
  31.  * Le sel dynamique est, comme son nom l'indique, dynamique. Il peut être plusieurs choses : Un token d'inscription, un pseudo, un email, une date d'inscription, un id...
  32.  * Le sel fixe est, quant à lui, fixe (héhé), il est donc toujours le même.
Advertisement
Add Comment
Please, Sign In to add comment