当前位置:  开发笔记 > 编程语言 > 正文

.net核心中的KeyedHashAlgorithm

如何解决《.net核心中的KeyedHashAlgorithm》经验,为你挑选了1个好方法。

我需要将以下.Net代码转换为.Net Core:

static byte[] HmacSHA256(String data, byte[] key)
{
    String algorithm = "HmacSHA256";
    KeyedHashAlgorithm kha = KeyedHashAlgorithm.Create(algorithm);
    kha.Key = key;

    return kha.ComputeHash(Encoding.UTF8.GetBytes(data));
}

以上代码段用于Amazon AWS密钥签名,并从此处获取.

我正在使用System.Security.Cryptography.Primitives 4.3.0和KeyedHashAlgorithm.Create方法不存在.看看github,我可以看到Create方法现在存在,但它不受支持:

 public static new KeyedHashAlgorithm Create(string algName)
        {
            throw new PlatformNotSupportedException();
}

问题是.Net Core中我对KeyedHashAlgorithm.Create(string algName)的替代方法是什么?



1> tpeczek..:

.Net Core似乎提供HMACSHA256 Class,它应该是您所需要的:

static byte[] HmacSHA256(String data, byte[] key)
{
    HMACSHA256 hashAlgorithm = new HMACSHA256(key);

    return hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(data));
}

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有