HMAC.Key 属性

定义

获取或设置要在 HMAC 计算中使用的密钥。

C#
public override byte[] Key { get; set; }

属性值

Byte[]

在 HMAC 计算中使用的密钥。

例外

试图在哈希计算开始后更改 Key 属性。

注解

此属性是键控哈希算法的键。

基于哈希的消息身份验证代码 (HMAC) 可用于确定通过不安全通道发送的消息是否已被篡改,前提是发送方和接收方共享密钥。 发送方计算原始数据的哈希值,并将原始数据和 HMAC 作为单个消息发送。 接收方重新计算收到的消息上的哈希值,并检查计算的哈希值是否与传输的哈希值匹配。

HMAC 可与任何迭代加密哈希函数(如 MD5 或 SHA-1)结合使用,并结合机密共享密钥。 HMAC 的加密强度取决于基础哈希函数的属性。

对数据或哈希值的任何更改都会导致不匹配,因为需要知道密钥才能更改消息并重现正确的哈希值。 因此,如果原始哈希值和计算的哈希值匹配,则会对消息进行身份验证。

由于 MD5 和 SHA-1 的冲突问题,Microsoft 建议使用基于 SHA-256 或更高版本的安全模型。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

另请参阅