HMAC.Key 属性

定义

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

public:
 virtual property cli::array <System::Byte> ^ Key { cli::array <System::Byte> ^ get(); void set(cli::array <System::Byte> ^ value); };
public override byte[] Key { get; set; }
member this.Key : byte[] with get, set
Public Overrides Property Key As Byte()

属性值

Byte[]

在 HMAC 计算中使用的键。

例外

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

注解

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

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

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

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

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

适用于

另请参阅