我需要计算一些字符串的签名,并正在计划这样做:
using (HMACSHA256 hmacSha256 = new HMACSHA256( <randombytes>))
{
Byte[] dataToHmac = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
signature = Convert.ToBase64String(hmacSha256.ComputeHash(dataToHmac));
}
我将把密钥和用户数据存储在一起,但是我不确定randombytes可以是随机的还是如何在c#中生成它们。
生成随机密钥的正确方法是什么?
最佳答案
如果您希望随机字节是安全随机的,则可以使用RNGCryptoServiceProvider
。