2015-04-24 90 views
1

我需要計算一些字符串的簽名,並打算這樣做是這樣的:如何產生HMACSHA256簽名計算的隨機密鑰

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

我要與我的用戶數據一起存儲密鑰,但我不確定randombytes是否可以是隨機的,或者如何在c#中生成它們。

什麼是生成隨機密鑰的正確方法?

+0

我通常使用隨機播種(int)DateTime.Now.Ticks,然後使用Random.GetBytes方法:https://msdn.microsoft.com/en-us/library/system.random.nextbytes%28v = vs.110%29.aspx –

+0

@RonBeyer NOOOOOOO – CodesInChaos

+0

@CodesInChaos能否詳細說明一下?上次我做到了,我遵循了Microsoft提供的通用模板https://msdn.microsoft.com/en-us/library/aa545602(v=cs.70).aspx –

回答