C#HMAC实施

C#HMAC实施,c#,cryptography,hmac,password-encryption,C#,Cryptography,Hmac,Password Encryption,我希望我的应用程序加密一个用户密码,密码将被解密后发送到服务器进行身份验证。一位朋友建议我使用HMAC。我用C#编写了以下代码: 如何解码密码(在本例中为resultSTR)?HMAC(哈希消息身份验证码)不是加密,它是哈希函数(在本例中为SHA-256)加上一些密钥。这是有损的,无法从HMAC中导出明文 如果你想加密一些秘密数据,你应该考虑使用PueCdDeD数据类来代替。更多信息包括HMAC(散列消息身份验证码)的示例代码不是加密,它是散列函数(在本例中为SHA-256)加上一些密钥。这是有

我希望我的应用程序加密一个用户密码,密码将被解密后发送到服务器进行身份验证。一位朋友建议我使用HMAC。我用C#编写了以下代码:

如何解码密码(在本例中为resultSTR)?

HMAC(哈希消息身份验证码)不是加密,它是哈希函数(在本例中为SHA-256)加上一些密钥。这是有损的,无法从HMAC中导出明文

如果你想加密一些秘密数据,你应该考虑使用PueCdDeD数据类来代替。更多信息包括HMAC(散列消息身份验证码)的示例代码不是加密,它是散列函数(在本例中为SHA-256)加上一些密钥。这是有损的,无法从HMAC中导出明文


如果你想加密一些秘密数据,你应该考虑使用PueCdDeD数据类来代替。更多信息,包括位于

的示例代码,您如何将ProtectedData发送到服务器?假设计算机位于同一域中,您只需发送ProtectedData返回的blob并使用相同的帐户解密blob即可。这一切都是无缝的:)Windows中数据保护API(DPAPI)的设计目标之一,就是让一个blob赤裸裸地坐在互联网上,仍然受到保护。:)如何将ProtectedData发送到服务器?假设计算机位于同一域中,您只需发送ProtectedData返回的blob,并使用相同的帐户解密blob即可。这一切都是无缝的:)Windows中数据保护API(DPAPI)的设计目标之一,就是让一个blob赤裸裸地坐在互联网上,仍然受到保护。:)
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();