Domanda

Voglio che la mia applicazione per crittografare una password utente, e in una sola volta la password verrà decrittografato da inviare al server per l'autenticazione. Un amico mi consiglia di utilizzare HMAC. Ho scritto il seguente codice in 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();

Come decodificare la password (resultSTR, in questo caso)?

È stato utile?

Soluzione

Un HMAC (Hashed Message Authentication Code) non è la crittografia, la sua funzione di hash (in questo caso SHA-256) più alcuni chiave segreta. E 'lossy, non c'è modo di ricavare il testo in chiaro dal HMAC.

Se si desidera crittografare alcuni dati segreti, è consigliabile utilizzare la classe ProtectedData invece. Più Infom incluso il codice di esempio a http://msdn.microsoft .com / it-it / library / system.security.cryptography.protecteddata.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top