类 SaSignUtil

java.lang.Object
cn.dev33.satoken.sign.SaSignUtil

public class SaSignUtil extends Object
API 参数签名算法 - 工具类
从以下版本开始:
1.34.0
作者:
click33
  • 构造器详细资料

    • SaSignUtil

      public SaSignUtil()
  • 方法详细资料

    • joinParams

      public static String joinParams(Map<String,?> paramsMap)
      将所有参数连接成一个字符串(不排序),形如:b=28a=18c=3
      参数:
      paramsMap - 参数列表
      返回:
      拼接出的参数字符串
    • joinParamsDictSort

      public static String joinParamsDictSort(Map<String,?> paramsMap)
      将所有参数按照字典顺序连接成一个字符串,形如:a=18b=28c=3
      参数:
      paramsMap - 参数列表
      返回:
      拼接出的参数字符串
    • createSign

      public static String createSign(Map<String,?> paramsMap)
      创建签名:md5(paramsStr + keyStr)
      参数:
      paramsMap - 参数列表
      返回:
      签名
    • addSignParams

      public static Map<String,Object> addSignParams(Map<String,Object> paramsMap)
      给 paramsMap 追加 timestamp、nonce、sign 三个参数
      参数:
      paramsMap - 参数列表
      返回:
      加工后的参数列表
    • addSignParamsAndJoin

      public static String addSignParamsAndJoin(Map<String,Object> paramsMap)
      给 paramsMap 追加 timestamp、nonce、sign 三个参数,并转换为参数字符串,形如: data=xxx8nonce=xxx8timestamp=xxx8sign=xxx
      参数:
      paramsMap - 参数列表
      返回:
      加工后的参数列表 转化为的参数字符串
    • isValidTimestamp

      public static boolean isValidTimestamp(long timestamp)
      判断:指定时间戳与当前时间戳的差距是否在允许的范围内
      参数:
      timestamp - 待校验的时间戳
      返回:
      是否在允许的范围内
    • checkTimestamp

      public static void checkTimestamp(long timestamp)
      校验:指定时间戳与当前时间戳的差距是否在允许的范围内,如果超出则抛出异常
      参数:
      timestamp - 待校验的时间戳
    • isValidNonce

      public static boolean isValidNonce(String nonce)
      判断:随机字符串 nonce 是否有效。 注意:同一 nonce 可以被多次判断有效,不会被缓存
      参数:
      nonce - 待判断的随机字符串
      返回:
      是否有效
    • checkNonce

      public static void checkNonce(String nonce)
      校验:随机字符串 nonce 是否有效,如果无效则抛出异常。 注意:同一 nonce 只可以被校验通过一次,校验后将保存在缓存中,再次校验将无法通过
      参数:
      nonce - 待校验的随机字符串
    • isValidSign

      public static boolean isValidSign(Map<String,?> paramsMap, String sign)
      判断:给定的参数 生成的签名是否为有效签名
      参数:
      paramsMap - 参数列表
      sign - 待验证的签名
      返回:
      签名是否有效
    • checkSign

      public static void checkSign(Map<String,?> paramsMap, String sign)
      校验:给定的参数 生成的签名是否为有效签名,如果签名无效则抛出异常
      参数:
      paramsMap - 参数列表
      sign - 待验证的签名
    • isValidParamMap

      public static boolean isValidParamMap(Map<String,String> paramMap)
      判断:参数列表中的 nonce、timestamp、sign 是否均为合法的
      参数:
      paramMap - 待校验的请求参数集合
      返回:
      是否合法
    • checkParamMap

      public static void checkParamMap(Map<String,String> paramMap)
      校验:参数列表中的 nonce、timestamp、sign 是否均为合法的,如果不合法,则抛出对应的异常
      参数:
      paramMap - 待校验的请求参数集合
    • isValidRequest

      public static boolean isValidRequest(SaRequest request, String... paramNames)
      判断:一个请求中的 nonce、timestamp、sign 是否均为合法的
      参数:
      request - 待校验的请求对象
      paramNames - 指定参与签名的参数有哪些,如果不填写则默认为全部参数
      返回:
      是否合法
    • checkRequest

      public static void checkRequest(SaRequest request, String... paramNames)
      校验:一个请求的 nonce、timestamp、sign 是否均为合法的,如果不合法,则抛出对应的异常
      参数:
      request - 待校验的请求对象
      paramNames - 指定参与签名的参数有哪些,如果不填写则默认为全部参数