我想我的应用程序加密用户密码,并在同一时间将密码进行解密被发送到服务器进行身份验证。一位朋友建议我使用HMAC。我写下面的代码在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();

如何解码该密码(resultSTR,在这种情况下)?

有帮助吗?

解决方案

这是HMAC(哈希消息认证码)是不加密,它的散列函数(在这种情况下SHA-256)加上一些秘密密钥。它的损耗,也没有办法从HMAC导出明文。

如果要加密一些机密数据,你应该考虑使用ProtectedData类代替。在 http://msdn.microsoft更infom包括示例代码的.com / EN-US /库/ system.security.cryptography.protecteddata.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top