[英]How to calculate HMAC-SHA1 authentication code in .NET 4.5 Core
我目前面臨一個大問題(環境:.NET 4.5 Core):我們需要使用HMAC-SHA1算法用密鑰保護消息。 問題是名稱空間System.Security.Cryptography
的HMACSHA1類和名稱空間本身在.NET 4.5 Core中不存在,此命名空間僅存在於.NET的正常版本中。
我嘗試了很多方法為我們的目的找到一個等效的命名空間,但我發現的唯一的東西是Windows.Security.Cryptography
,遺憾的是它沒有提供HMAC加密。
有沒有人知道如何解決我們的問題,或者是否可以免費使用第三方解決方案?
Windows.Security.Cryptography
命名空間確實包含HMAC。
您可以通過調用靜態
OpenAlgorithm
方法並指定以下算法名稱之一來創建MacAlgorithmProvider
對象:HMAC_MD5 HMAC_SHA1 HMAC_SHA256 HMAC_SHA384 HMAC_SHA512 AES_CMAC
public static byte[] HmacSha1Sign(byte[] keyBytes, string message){
var messageBytes= Encoding.UTF8.GetBytes(message);
MacAlgorithmProvider objMacProv = MacAlgorithmProvider.OpenAlgorithm("HMAC_SHA1");
CryptographicKey hmacKey = objMacProv.CreateKey(keyBytes.AsBuffer());
IBuffer buffHMAC = CryptographicEngine.Sign(hmacKey, messageBytes.AsBuffer());
return buffHMAC.ToArray();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.