HMAC.Key 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置要在 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 或更高版本的安全模型。