签名
通道签名生成方式以及SDK介绍
签名简介
API签名是对请求的参数中的非空参数按字母顺序排序,拼接为下文中的形式,得到签名元串
a=1&b=123&c=dsadsa使用服务商与益稳通约定的秘钥,对签名元串进行AES加密,并将加密的结果作为"signature"参数发送
注意:signature参数不参与签名,其余参数若无特殊说明,在非空情况下都需要参与签名
SDK
DEMO中提供了开箱即用的加密工具类。基本简介如下
AES加密工具类简介
/**
* AES加密
*/
public class AESUtil {
/**
* 加密 返回base64格式字符串
* @param content 需要加密的内容
* @param password 加密密码
* @return
*/
public static byte[] encryptToBase64String(String content, String password);
/**
* 解密 返回base64格式字符串
* @param content
* @param password
* @return
*/
public static String decryptFromBase64String(String content, String password);
/**
* 加密
*
* @param content 需要加密的内容
* @param password 加密密码
* @return
*/
public static byte[] encrypt(String content, String password);
/**解密
* @param content 待解密内容
* @param password 解密密钥
* @return
*/
public static byte[] decrypt(byte[] content, String password);签名工具类简介
/**
* 签名工具类
*/
public class SignatureUtil {
/**
* 根据对象签名
* @param secretKey
* @param object
* @return
*/
public static String signByObj(String secretKey, Object object);
public static String signByObj(String secretKey, Object object ,String[] excludes);
/**
* 根据MAP签名
* @param map
* @return
*/
public static String signByMap(String secretKey, TreeMap<String, Object> map);
public static String signByMap(String secretKey, TreeMap<String, Object> map , String[] excludes);
/**
* 根据MAP验签
* @param secretKey
* @param originMap
* @param originSignature
* @return
*/
public static boolean verifySignatureByMap(String secretKey, TreeMap<String, Object> originMap, String originSignature);
public static boolean verifySignatureByMap(String secretKey, TreeMap<String, Object> originMap, String originSignature,String[] excludes);
/**
* 根据对象验签
* @param secretKey
* @param originObj
* @param originSignature
* @return
*/
public static boolean verifySignatureByObj(String secretKey,Object originObj,String originSignature);
public static boolean verifySignatureByObj(String secretKey,Object originObj,String originSignature,String[] excludes);
Last updated