我需要计算一些字符串的签名,并正在计划这样做:

using (HMACSHA256 hmacSha256 = new HMACSHA256( <randombytes>))
{
         Byte[] dataToHmac = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
         signature = Convert.ToBase64String(hmacSha256.ComputeHash(dataToHmac));
}


我将把密钥和用户数据存储在一起,但是我不确定randombytes可以是随机的还是如何在c#中生成它们。

生成随机密钥的正确方法是什么?

最佳答案

如果您希望随机字节是安全随机的,则可以使用RNGCryptoServiceProvider

10-06 13:57