Package org.miaixz.bus.crypto.builtin.digest.mac
package org.miaixz.bus.crypto.builtin.digest.mac
MAC,全称为“Message Authentication Code”,中文名“消息鉴别码”。
HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码” 主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。 一般的,消息鉴别码用于验证传输于两个共 同享有一个密钥的单位之间的消息。 HMAC 可以与任何迭代散列函数捆绑使用。MD5 和 SHA-1 就是这种散列函数。HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥。
MacEngineFactory
||(创建)
MacEngine----------------(包装)-----------------> Mac
_____|_______________ |
/ \ HMac
JCEMacEngine BCMacEngine
/ \
BCHMacEngine CBCBlockCipherMacEngine
|
SM4MacEngine
通过MacEngine,封装支持了BouncyCastle和JCE实现的一些MAC算法,通过MacEngineFactory自动根据算法名称创建对应对象。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescriptionBouncyCastle的HMAC算法实现引擎,使用
Mac实现摘要 当引入BouncyCastle库时自动使用其作为ProviderBouncyCastle的MAC算法实现引擎,使用Mac实现摘要 当引入BouncyCastle库时自动使用其作为ProviderCBCBlockCipherMac实现的MAC算法,使用CBC Block方式JDK提供的的MAC算法实现引擎,使用Mac实现摘要 当引入BouncyCastle库时自动使用其作为ProviderMAC(Message Authentication Code)算法引擎Mac简单工厂类SM4算法的MAC引擎实现