HMAC SHA256 in .NET .1.1

本文关键字:NET in SHA256 HMAC | 更新日期: 2023-09-27 18:21:41

我不得不使用在.NET1.1Framework中开发的web应用程序,无法升级到主要版本。

话虽如此,我需要使用HMAC SHA256加密文本。

我看到.NET 1.1中的System.Security.Cryptography命名空间为我提供了一种在SHA256中生成消息的方法。但我需要将HMAC(基于哈希的消息验证码)与SHA256一起使用,所以我不仅发送要加密的文本,还发送一个密钥

我看到.NET Framework 2.0及更高版本有一个特定的类HMACSHA256来管理它。但是还没有找到.NET 1.1的实现。

有什么帮助吗?

提前感谢

HMAC SHA256 in .NET .1.1

您可以将Microsoft:中的文件添加到您的项目中

namespace System.Security.Cryptography {
    [System.Runtime.InteropServices.ComVisible(true)]
    public class HMACSHA256 : HMAC {
        //
        // public constructors
        //
        public HMACSHA256 () : this (Utils.GenerateRandom(64)) {}
        public HMACSHA256 (byte[] key) {
            m_hashName = "SHA256";
#if FEATURE_CRYPTO
            m_hash1 = GetHashAlgorithmWithFipsFallback(() => new SHA256Managed(), () => HashAlgorithm.Create("System.Security.Cryptography.SHA256CryptoServiceProvider"));
            m_hash2 = GetHashAlgorithmWithFipsFallback(() => new SHA256Managed(), () => HashAlgorithm.Create("System.Security.Cryptography.SHA256CryptoServiceProvider"));
#else
            m_hash1 = new SHA256Managed();
            m_hash2 = new SHA256Managed();
#endif // FEATURE_CRYPTO
            HashSizeValue = 256;
            base.InitializeKey(key);
        }
    }
}

似乎所有调用都基于.Net 1.1 中存在的类