Dites que mon mot de passe est abc
. Je veux l'envoyer au serveur via HTTP.
Je pourrais l'envoyer en texte clair et laisser le serveur le hacher et le comparer aux entrées de sa base de données, mais alors quiconque peut voir le trafic sur cette connexion verrait le mot de passe en texte brut.
Alors je pourrais le hacher côté client et laisser le serveur le comparer sans hachage puisqu'il est déjà haché (ou le serveur pourrait même doubler le hachage, mais aucune différence dans cette situation). Mais là encore, quiconque peut voir le trafic verrait le mot de passe haché, puis enverrait le mot de passe haché au serveur et le serveur l'accepterait.
Comment envoyer des mots de passe via HTTP? Dois-je implémenter un algorithme de cryptage tel que le cryptage à clé publique RSA? Ou est-ce impossible?
La méthode devrait être utilisable dans n'importe quel navigateur.