Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* <teol91[at]gmail[.]com>
- * Initialisation au hash de mot de passes avec salt
- * Le Hash est, en gros, un cryptage irréversible.
- * Le sel est une chaine de caractère supplémentaire ajoutée au mot de passe à hasher
- * 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".
- * Le sel est une sécurité supplémentaire, pour rendre la tache des éventuels pirates très très fastidieuse.
- */
- //Définition des variables
- $pass = 'topsecret'; //Mot de passe
- $pseudo = 'teol'; //Exemple de pseudo, qui peut servir de sel dynamique
- $sel_fixe = 'HxFeR5658_UiZa@42o'; //Exemple de clef, qui peut servir de sel fixe
- //1- Hasher le mot de passe
- //Algorithme choisi : sha512, d'autres sont disponnibles, comme le sha1, sha256, whirpool...
- $pass_hashe = hash('sha512', $pass);
- // 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 :)
- //2- Sel fixe
- $pass_hashe_sel = hash('sha512', $pass.$sel_fixe);
- //C'est déjà plus sécurisé comme ça
- //3- Sel fixe + sel dynamique
- $pass_hashe_sel_2x = hash('sha512', $pass.$sel_fixe.$pseudo);
- //Là, on peut considérer que le mot de passe est hashé de manière optimale
- /* Une seule étape est suffisante, on peut commencer directement par hash('sha512', $pass.$sel_fixe.$pseudo).
- * 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 :
- * Pour le login, et l'inscription.
- * 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...
- * 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