Comment crypter un mot de passe sur le client (AngularJS), de l'envoyer au serveur (expressJS) et de décrypter sur le serveur?

Je veux crypter un mot de passe sur le client (angular.js), de l'envoyer au serveur (express.js) et de décrypter sur le serveur. Je voudrais une méthode simple. J'utilise $http pour les requêtes POST.
Je sais que les sorties angulaires-bcrypt bibliothèque et même en nodeJS, mais ne vaut pas pour moi, car il n'a que la méthode de comparaison.

Je veux quelque chose comme ça:

password = document.getElementById('txtPassword').value;
var xorKey = 129; ///you can have other numeric values also.
    var result = "";
    for (i = 0; i < password.length; ++i) {
        result += String.fromCharCode(xorKey ^ password.charCodeAt(i));
    }

Mais,je n'ai trouvé que la méthode de décryptage en c#:

public bool Authenticate(string userName, string password)
    {
        byte result = 0;

        StringBuilder inSb = new StringBuilder(password);
        StringBuilder outSb = new StringBuilder(password.Length);
        char c;
        for (int i = 0; i < password.Length; i++)
        {
            c = inSb[i];
            c = (char)(c ^ 129); ///remember to use the same XORkey value you used in javascript
            outSb.Append(c);
        }
        password = outSb.ToString();

       //your rest of code
    } 

Une idée? Je vous remercie beaucoup. 😛

OriginalL'auteur Izaskun Peña | 2016-05-11