Question

Je veux que mon application à crypter un mot de passe de l'utilisateur et à un mot de passe de temps sera décrypté à envoyer au serveur pour l'authentification. Un ami m'a conseillé d'utiliser HMAC. J'ai écrit le code suivant dans C #:

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] key = encoding.GetBytes("secret");
HMACSHA256 myhmacsha256 = new HMACSHA256(key);
byte[] hashValue = myhmacsha256.ComputeHash(encoding.GetBytes("text"));
string resultSTR = Convert.ToBase64String(hashValue);
myhmacsha256.Clear();

Comment décoder le mot de passe (resultSTR, dans ce cas)?

Était-ce utile?

La solution

Un HMAC (Hashed Message Authentication Code) n'est pas le cryptage, il est fonction de hachage (dans ce cas, SHA-256), plus une clé secrète. Il est lossy, il n'y a aucun moyen de tirer le texte brut du HMAC.

Si vous voulez crypter des données secrètes, vous devriez envisager d'utiliser la classe à la place de ProtectedData. Plus infom y compris le code exemple http://msdn.microsoft .com / fr-fr / bibliothèque / system.security.cryptography.protecteddata.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top