HMACSHA1 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 HMACSHA1 类的新实例。
重载
HMACSHA1() |
使用随机生成的密钥初始化 HMACSHA1 类的新实例。 |
HMACSHA1(Byte[], Boolean) |
已过时.
使用指定的密钥数据和一个指定是否使用 SHA1 算法托管版本的值,来初始化 HMACSHA1 类的新实例。 |
HMACSHA1(Byte[]) |
使用指定的密钥数据初始化 HMACSHA1 类的新实例。 |
HMACSHA1()
- Source:
- HMACSHA1.cs
- Source:
- HMACSHA1.cs
- Source:
- HMACSHA1.cs
使用随机生成的密钥初始化 HMACSHA1 类的新实例。
public:
HMACSHA1();
public HMACSHA1 ();
Public Sub New ()
注解
HMACSHA1 是一种键控哈希算法,它由 SHA1 哈希函数构造,用作 HMAC 或基于哈希的消息身份验证代码。 HMAC 进程将密钥与消息数据混合,使用哈希函数对结果进行哈希处理,再次将哈希值与机密密钥混合,然后第二次应用哈希函数。 输出哈希的长度为 160 位 (20 个字节) 。
此构造函数使用随机生成的 64 字节密钥。
由于与 SHA1 冲突,Microsoft 建议使用 SHA256。
另请参阅
适用于
HMACSHA1(Byte[], Boolean)
- Source:
- HMACSHA1.cs
- Source:
- HMACSHA1.cs
- Source:
- HMACSHA1.cs
注意
HMACSHA1 always uses the algorithm implementation provided by the platform. Use a constructor without the useManagedSha1 parameter.
使用指定的密钥数据和一个指定是否使用 SHA1 算法托管版本的值,来初始化 HMACSHA1 类的新实例。
public:
HMACSHA1(cli::array <System::Byte> ^ key, bool useManagedSha1);
public HMACSHA1 (byte[] key, bool useManagedSha1);
[System.Obsolete("HMACSHA1 always uses the algorithm implementation provided by the platform. Use a constructor without the useManagedSha1 parameter.", DiagnosticId="SYSLIB0030", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public HMACSHA1 (byte[] key, bool useManagedSha1);
new System.Security.Cryptography.HMACSHA1 : byte[] * bool -> System.Security.Cryptography.HMACSHA1
[<System.Obsolete("HMACSHA1 always uses the algorithm implementation provided by the platform. Use a constructor without the useManagedSha1 parameter.", DiagnosticId="SYSLIB0030", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new System.Security.Cryptography.HMACSHA1 : byte[] * bool -> System.Security.Cryptography.HMACSHA1
Public Sub New (key As Byte(), useManagedSha1 As Boolean)
参数
- key
- Byte[]
HMAC 计算的密钥。 密钥可以是任意长度,但如果其长度超过 64 字节,则会使用 SHA-1) 将其哈希 (来派生 20 字节密钥。 因此,建议的密钥大小为 64 个字节。
- useManagedSha1
- Boolean
如果使用 SHA1 算法的托管实现(SHA1Managed 类),则为 true
;如果使用非托管实现(SHA1CryptoServiceProvider 类),则为 false
。
- 属性
注解
由于 SHA1 出现冲突问题,Microsoft 建议使用基于 SHA256 或更好的安全模型。
适用于
HMACSHA1(Byte[])
- Source:
- HMACSHA1.cs
- Source:
- HMACSHA1.cs
- Source:
- HMACSHA1.cs
使用指定的密钥数据初始化 HMACSHA1 类的新实例。
public:
HMACSHA1(cli::array <System::Byte> ^ key);
public:
HMACSHA1(cli::array <System::Byte> ^ rgbKey);
public HMACSHA1 (byte[] key);
public HMACSHA1 (byte[] rgbKey);
new System.Security.Cryptography.HMACSHA1 : byte[] -> System.Security.Cryptography.HMACSHA1
new System.Security.Cryptography.HMACSHA1 : byte[] -> System.Security.Cryptography.HMACSHA1
Public Sub New (key As Byte())
Public Sub New (rgbKey As Byte())
参数
- keyrgbKey
- Byte[]
HMACSHA1 加密的机密密钥。 密钥的长度不限,但如果该密钥是 64 个字节,就会经过散列处理(使用 SHA-1)以派生一个 64 个字节的密钥。 因此,建议的密钥大小为 64 个字节。
例外
key
参数为 null
。
示例
有关如何使用此构造函数的示例,请参阅 HMACSHA1 类。
注解
HMACSHA1 是一种键控哈希算法,它由 SHA1 哈希函数构造,用作 HMAC 或基于哈希的消息身份验证代码。 HMAC 进程将密钥与消息数据混合,使用哈希函数对结果进行哈希处理,再次将哈希值与机密密钥混合,然后第二次应用哈希函数。 输出哈希的长度为 160 位 (20 个字节) 。
注意
此构造函数使用 SHA1CryptoServiceProvider 类创建算法的非托管实例。
由于 SHA1 出现冲突问题,Microsoft 建议使用基于 SHA256 或更好的安全模型。