算法选择:
密钥长度:
密钥:
消息格式:
CMAC结果格式:
CMAC
使用 AES、DES 之类的分组密码可以实现消息认证码。

CMAC 的实现
将分组密码的密钥作为消息认证码的共享密钥来使用,并用 CBC 模式将消息全部加密。此时,初始化向量(IV)是固定的。由于消息认证码中不需要解密,因此将除最后一个分组以外的密文部分全部丢弃, 而将最后一个分组用作 MAC 值。由于 CBC 模式的最后一个分组会受到整个消息以及密钥的双重影响,因此可以将它用作消息认证码。例如,AES-CMAC(RFC4493)就是一种基于 AES 来实现的消息认证码。

CBC 模式请参考:对称密码介绍

算法选择
AES-CMAC: 使用 CBC 模式的 AES 算法生成消息认证码。
DES-CMAC、3DES-CMAC 被认为是不安全的,已经逐渐被淘汰,该网页不支持。
密钥长度
选择基于不同的算法所支持的的密钥长度。
密钥(偏移)
  • Text: 表示是文本格式,加密前会使用 UTF-8 编码,把它转成 byte[] 数组
  • Hex 表示是十六进制格式,加密前会把十六进制字符串转成 byte[] 数组

+