Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

  • 定时任务(hutool-cron)

  • 加密(hutool-crypto)

    • 简介
    • 加密解密工具-SecureUtil
    • 对称加密(symmetric)

    • 非对称加密(asymmetric)

    • 摘要算法(digest)

      • 介绍
      • 摘要加密-Digester
      • 消息认证码算法-HMac
        • 介绍
          • HMAC介绍
        • Hutool支持的算法类型
          • Hmac算法
        • 使用
          • HMac
        • 更多HMac算法
    • 证书(cert)

    • 简单认证和安全层(sasl)

    • OpenSSL相关(openssl)

    • BouncyCastle相关(bc)

  • 数据库(hutool-db)

  • 扩展(hutool-extra)

  • HTTP(hutool-http)

  • 日志(hutool-log)

  • 配置文件(hutool-setting)

  • JSON(hutool-json)

  • Office办公(hutool-poi)

  • 套接字(hutool-socket)

  • GUI(hutool-swing)

  • 指南
  • 加密(hutool-crypto)
  • 摘要算法(digest)
Hutool
2026-01-03
目录

消息认证码算法-HMac

# 介绍

# HMAC介绍

HMAC,全称为“Hash Message Authentication Code”,中文名“散列消息鉴别码”,主要是利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。一般的,消息鉴别码用于验证传输于两个共同享有一个密钥的单位之间的消息。HMAC 可以与任何迭代散列函数捆绑使用。MD5 和 SHA-1 就是这种散列函数。HMAC 还可以使用一个用于计算和确认消息鉴别值的密钥。

# Hutool支持的算法类型

# Hmac算法

在不引入第三方库的情况下,JDK支持有限的摘要算法:

  • HmacMD5
  • HmacSHA1
  • HmacSHA256
  • HmacSHA384
  • HmacSHA512

# 使用

# HMac

以HmacMD5为例:

String testStr = "test中文";

// 此处密钥如果有非ASCII字符,考虑编码
byte[] key = "password".getBytes();
HMac mac = new HMac(HmacAlgorithm.HmacMD5, key);

// b977f4b13f93f549e06140971bded384
String macHex1 = mac.digestHex(testStr);

# 更多HMac算法

与摘要算法类似,通过加入Bouncy Castle库可以调用更多算法,使用也类似:

HMac mac = new HMac("XXXX", key);
上次更新: 2026/01/03, 21:59:18
摘要加密-Digester
介绍

← 摘要加密-Digester 介绍→

Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式