接口 SaSignTemplate

所有已知实现类:
SaSignTemplateDefaultImpl

public interface SaSignTemplate
参数签名算法
作者:
kong
  • 方法详细资料

    • joinParams

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

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

      default String createSign(Map<String,Object> paramsMap, String key)
      创建签名:md5(paramsStr + keyStr)
      参数:
      paramsMap - 参数列表
      key - 秘钥
      返回:
      签名
    • isValidSign

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

      default void checkSign(Map<String,Object> paramsMap, String key, String sign)
      校验:给定的参数 + 秘钥 生成的签名是否为有效签名,如果签名无效则抛出异常
      参数:
      paramsMap - 参数列表
      key - 秘钥
      sign - 待验证的签名
    • addSignParams

      default Map<String,Object> addSignParams(Map<String,Object> paramsMap, String key)
      给 paramsMap 追加 timestamp、nonce、sign 三个参数
      参数:
      paramsMap - 参数列表
      key - 秘钥
      返回:
      加工后的参数列表
    • addSignParamsToString

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

      default boolean isValidTimestamp(long timestamp, long allowDisparity)
      判断:指定时间戳与当前时间戳的差距是否在允许的范围内
      参数:
      timestamp - 待校验的时间戳
      allowDisparity - 允许的最大时间差(单位:ms),-1 代表不限制
      返回:
      是否在允许的范围内
    • checkTimestamp

      default void checkTimestamp(long timestamp, long allowDisparity)
      校验:指定时间戳与当前时间戳的差距是否在允许的范围内,如果超出则抛出异常
      参数:
      timestamp - 待校验的时间戳
      allowDisparity - 允许的最大时间差(单位:ms),-1 代表不限制