Bonjour,
Je voudrais avoir un peu plus d'informations sur le cryptage symétrique, son fonctionnement en général, et les bonnes manières pour la persistance des mot de passe.

J'ai un peu de mal entre les seeds et les salts. Ce que je comprends :

- un seed est utilisé pour crypter/décrypter un mot de passe.
- un salt est utilisé pour hasher un mot de passe.

J'ai lu que dans une base de données, il faut stocker le hash et le salt du mot de passe.
Prenons une application web par exemple. Elle stocke de manière sécurisée des comptes d’utilisateurs.

Quand l'utilisateur crée son compte
1. Il rentre son mot de passe en clair (ex : password)
2. On rajouter un salt au mot de passe (ex : password+Salt)
3. Le mot de passe est hashé grace à un algorithme de hash tel que blowfish par exemple (ex : XXXpassHashXXX).

Du coup, dans la base de donnée, je stocke XXXpassHashXXX et Salt. C'est bien ça ?
Ce qui veut dire que lorsqu'il va se connecter :
1. il saisit son mot de passe (ex : passwordErreur)
2. On rajouter le salt provenant de la base au mot de passe (ex : passwordErreur+Salt)
3. on hash le mot de passe (ex : XXXotherHashXXX)
4. On teste si ce hash est égal avec le hash en base (XXXotherHashXXX et XXXpassHashXXX)
5. On constate que les deux hashs sont différents, donc on interdit l'entrée.

J'espère que je ne me suis pas trompé jusqu'ici. En tout cas si c'est bien comme ça que ça fonctionne... à quoi sert le seed ???
Je ne l'ai pas utilisé jusqu'ici, et j'ai bien stocké ce qu'il fallait dans la base ?

Merci pour vos éclaircissements.