Pergunta

Quero que meu aplicativo criptografa uma senha de usuário e, ao mesmo tempo, a senha será descriptografada para ser enviada ao servidor para autenticação. Um amigo me aconselha a usar o HMAC. Eu escrevi o seguinte código em 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();

Como decodificar a senha (Resultado, neste caso)?

Foi útil?

Solução

Um HMAC (código de autenticação da mensagem hash) não é criptografia, sua função de hash (neste caso SHA-256) mais uma chave secreta. É com perdas, não há como derivar o texto simples do HMAC.

Se você deseja criptografar alguns dados secretos, considere usar a classe ProtectedData. Mais informações, incluindo o código de amostra em http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top