Du coup, ne pourrait-on pas faire un sel qui serait basé sur le mot de passe ? Le but étant d'obtenir un sel unique par mot de passe.
En reprenant ton exemple :
J'ai un mot de passe '1234', mon login est 'obiwan'.
Je calcule un sel avec disons : SHA1("1234" & "obiwan")
Là j'obtiens comme sel : 6957a6c55c640f0543951578fadd4823a36495b2
Puis je calcule le hash du sel + mot de passe : SHA1("6957a6c55c640f0543951578fadd4823a36495b2" & "1234")
Ce qui donne comme résultat final qu'on stocke dans la BDD : 339690467416b7c7e7b966e8a598f3822e0338d0
Si maintenant je change le mot de passe, mon sel va également changer automatiquement.
Je serais donc tenté de dire qu'il me faudra générer une rainbow table à chaque fois que l'utilisateur change son mot de passe puisque le sel change avec le mot de passe.
[^] # Re: retrouver le salt ???
Posté par cluxter . En réponse au journal L'art de stocker des mots de passe. Évalué à 1.
Merci pour cet exemple explicatif très clair.
Du coup, ne pourrait-on pas faire un sel qui serait basé sur le mot de passe ? Le but étant d'obtenir un sel unique par mot de passe.
En reprenant ton exemple :
J'ai un mot de passe '1234', mon login est 'obiwan'.
Je calcule un sel avec disons : SHA1("1234" & "obiwan")
Là j'obtiens comme sel : 6957a6c55c640f0543951578fadd4823a36495b2
Puis je calcule le hash du sel + mot de passe : SHA1("6957a6c55c640f0543951578fadd4823a36495b2" & "1234")
Ce qui donne comme résultat final qu'on stocke dans la BDD : 339690467416b7c7e7b966e8a598f3822e0338d0
Si maintenant je change le mot de passe, mon sel va également changer automatiquement.
Je serais donc tenté de dire qu'il me faudra générer une rainbow table à chaque fois que l'utilisateur change son mot de passe puisque le sel change avec le mot de passe.
Qu'en pensez-vous ?