Je pense que MD5 est un algorithme de hachage à sens unique. Cela signifie qu'une fois chiffré, les données ne peuvent pas être déchiffrées. (Je suis sûr qu'un bon hacker sera cependant en désaccord)
Quoi qu'il en soit, pour les mots de passe, vous pouvez enregistrer la version cryptée du mot de passe dans la base de données. Lorsqu'un utilisateur tente de se connecter, cryptez le mot de passe entré en utilisant le même algorithme MD5 et comparez la version cryptée du mot de passe avec le mot de passe crypté stocké dans la base de données. Une fois que vous êtes à l'aise avec cette approche, vous pouvez commencer à regarder le concept de l'ajout de sel au mot de passe haché.
De plus, il existe d'autres algorithmes de hachage que MD5. Si vous utilisez .NET, il y a un tas dans le framework, tel que SHA512Managed. Chacun a ses compromis, tels que la vitesse à hachage, la sécurité, etc. Choisissez celui qui résout votre problème particulier.
Vous ne "décryptez" pas le mot de passe. Hachez également le mot de passe entrant avec MD5, et si ce hash correspond à celui de la base de données, les mots de passe sont les mêmes. Vous devriez également utiliser un "sel". – Zabba