hutool.crypto.sign

Module Contents

Classes

SignUtil

签名工具类

API

class hutool.crypto.sign.SignUtil

签名工具类

提供常用的参数签名算法,适用于接口签名、防篡改等场景。 签名流程: 1. 将参数按 key 的字典序排序 2. 拼接为 key1=value1&key2=value2&secret=xxx 格式 3. 使用指定算法计算摘要

_ALGORITHM_MAP = None
static sign_params(params: Dict[str, str], secret: str, algorithm: str = 'md5') str

对参数进行签名

签名步骤: 1. 将参数按 key 字典序升序排序 2. 拼接为 key1=value1&key2=value2&secret=xxx 形式 3. 用指定算法计算摘要并返回十六进制字符串

参数:
  • params – 待签名的参数字典

  • secret – 密钥

  • algorithm – 签名算法,支持 md5 / sha1 / sha256 / hmac_md5 / hmac_sha1 / hmac_sha256

返回:

签名后的十六进制字符串

抛出:

ValueError – 不支持的算法时抛出

static sort_sign(params: Dict[str, str], secret: str, algorithm: str = 'md5') str

排序签名(功能同 sign_params)

这是 sign_params 的别名,方便不同调用场景使用。

参数:
  • params – 待签名的参数字典

  • secret – 密钥

  • algorithm – 签名算法

返回:

签名后的十六进制字符串

static sign_params_md5(params: Dict[str, str], secret: str) str

MD5签名

参数:
  • params – 待签名参数

  • secret – 密钥

返回:

MD5签名字符串

static sign_params_sha1(params: Dict[str, str], secret: str) str

SHA-1签名

参数:
  • params – 待签名参数

  • secret – 密钥

返回:

SHA-1签名字符串

static sign_params_sha256(params: Dict[str, str], secret: str) str

SHA-256签名

参数:
  • params – 待签名参数

  • secret – 密钥

返回:

SHA-256签名字符串

static sign_params_hmac_md5(params: Dict[str, str], secret: str) str

HMAC-MD5签名

参数:
  • params – 待签名参数

  • secret – 密钥

返回:

HMAC-MD5签名字符串

static sign_params_hmac_sha1(params: Dict[str, str], secret: str) str

HMAC-SHA1签名

参数:
  • params – 待签名参数

  • secret – 密钥

返回:

HMAC-SHA1签名字符串

static sign_params_hmac_sha256(params: Dict[str, str], secret: str) str

HMAC-SHA256签名

参数:
  • params – 待签名参数

  • secret – 密钥

返回:

HMAC-SHA256签名字符串