HMACMD5 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用 MD5 哈希函数计算基于哈希值的消息验证代码 (HMAC)。
public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
inherit HMAC
type HMACMD5 = class
inherit HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
inherit HMAC
Public Class HMACMD5
Inherits HMAC
- 继承
- 属性
注解
HMACMD5 是一种键控哈希算法,从消息摘要算法 5 (MD5) 哈希函数构造,用作基于哈希的消息身份验证代码 (HMAC) 。 HMAC 进程将密钥与消息数据混合,使用哈希函数对结果进行哈希处理,再次将哈希值与密钥混合,然后再次应用哈希函数。 输出哈希的长度为 128 位。
HMAC 可用于确定通过不安全通道发送的消息是否已被篡改,前提是发送方和接收方共享密钥。 发送方计算原始数据的哈希值,并将原始数据和哈希值作为单个消息发送。 接收方重新计算收到的消息的哈希值,并检查计算的 HMAC 是否与传输的 HMAC 匹配。
对数据或哈希值的任何更改都会导致不匹配,因为需要知道密钥才能更改消息并重现正确的哈希值。 因此,如果原始哈希值和计算的哈希值匹配,则会对消息进行身份验证。
MD5 是在 RSA 实验室开发的加密哈希算法。 HMACMD5 接受任何大小的密钥,并生成长度为 128 位的哈希序列。
由于与 MD5 冲突,Microsoft 建议使用 SHA256。
构造函数
HMACMD5() |
使用随机生成的密钥初始化 HMACMD5 类的新实例。 |
HMACMD5(Byte[]) |
使用指定的密钥初始化 HMACMD5 类的新实例。 |
字段
HashSizeInBits |
HMAC MD5 算法生成的哈希大小(以位为单位)。 |
HashSizeInBytes |
HMAC MD5 算法生成的哈希大小(以字节为单位)。 |
HashSizeValue |
表示计算所得的哈希代码的大小(以位为单位)。 (继承自 HashAlgorithm) |
HashValue |
表示计算所得的哈希代码的值。 (继承自 HashAlgorithm) |
KeyValue |
用于哈希算法的密钥。 (继承自 KeyedHashAlgorithm) |
State |
表示哈希计算的状态。 (继承自 HashAlgorithm) |
属性
BlockSizeValue |
获取或设置哈希值中使用的块大小。 (继承自 HMAC) |
CanReuseTransform |
获取一个值,该值指示是否可重复使用当前转换。 (继承自 HashAlgorithm) |
CanTransformMultipleBlocks |
当在派生类中重写时,获取一个值,该值指示是否可以转换多个块。 (继承自 HashAlgorithm) |
Hash |
获取计算所得的哈希代码的值。 (继承自 HashAlgorithm) |
HashName |
获取或设置用于哈希计算的哈希算法的名称。 (继承自 HMAC) |
HashSize |
获取计算得到的 HMAC 的大小(以位为单位)。 |
HashSize |
获取计算所得的哈希代码的大小(以位为单位)。 (继承自 HashAlgorithm) |
InputBlockSize |
当在派生类中重写时,获取输入块的大小。 (继承自 HashAlgorithm) |
Key |
获取或设置要在 HMAC 计算中使用的密钥。 |
Key |
获取或设置要在 HMAC 计算中使用的密钥。 (继承自 HMAC) |
OutputBlockSize |
当在派生类中重写时,获取输出块的大小。 (继承自 HashAlgorithm) |
方法
显式接口实现
IDisposable.Dispose() |
释放由 HashAlgorithm 占用的非托管资源,还可以另外再释放托管资源。 (继承自 HashAlgorithm) |