gpt4 book ai didi

c# - 使用 HMACSHA 在 .NET Standard 2.0 中签署消息

转载 作者:太空宇宙 更新时间:2023-11-03 20:59:56 25 4
gpt4 key购买 nike

我有旧代码,想在 .NET Standard 2.0 中使用它。我找到了 System.Security.Cryptography.HMACSHA1 并且我知道如何计算哈希但我不知道如何进行签名。如何使用 .NET Standard 2 编写以下代码?

public string GenerateSignature(string key, string content)
{
var keyMaterial = CryptographicBuffer.ConvertStringToBinary(key, BinaryStringEncoding.Utf8);
var macAlgorithm = MacAlgorithmProvider.OpenAlgorithm("HMAC_SHA1");
var macKey = macAlgorithm.CreateKey(keyMaterial);

var buffer = CryptographicBuffer.ConvertStringToBinary(content, BinaryStringEncoding.Utf8);

var signatureBuffer = CryptographicEngine.Sign(macKey, buffer);
var signature = CryptographicBuffer.EncodeToBase64String(signatureBuffer);

return signature;
}

最佳答案

很多 HMAC 内容在 net standard 和旧框架版本之间没有变化。以下代码应适用于 .NET 4.5.1、Net Standard 1.3 及更高版本和 .NET Core。它稍微改编自工作代码以匹配您的方法

public string GenerateSignature(string key, string content)
{
var hmac = new System.Security.Cryptography.HMACSHA1();
hmac.Key = Encoding.UTF8.GetBytes(key);
var contentBytes = Encoding.UTF8.GetBytes(content);
var signature = hmac.ComputeHash(contentBytes);
return Convert.ToBase64String(signature);
}

关于c# - 使用 HMACSHA 在 .NET Standard 2.0 中签署消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46488920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com