一、开发流程

1.应用获取

联系销售或者实施获取应用appKey和appSecret

2.访问流程

    接口地址访问前缀:https://api.xinrenxinshi.com
  • 每次访问接口时,需携带公共参数:
    sign:签名信息(详见安全说明和签名计算)
    timestamp:时间戳(精确到毫秒,5分钟内有效)
    appKey:应用appKey

3.安全说明

为防止请求数据被恶意篡改,每次请求业务接口时,需对请求参数进行签名计算,薪人薪事开放平台会对签名进行比对,比对通过才能完成业务处理。

4.签名计算

4.1、将请求参数键值对列表,按照字典排序(单个键值对无需排序)
4.2、将排序后的键值对列表,通过连接符"&"连接(单个键值对无需连接)
4.3、将连接后的字符串,按照HmacSHA1算法计算签名;其中,算法密钥为appSecret
4.4、算法计算出来的字符串为签名值。

特殊说明:

  1. 签名值可能包含被http请求自动转义的字符,所以,需要对签名值进行URLEncoding处理之后才能请求。

  2. 键值对格式:参数名=参数值。例如:接口参数employeeId对应传值为12345,键值对则为:employeeId=12345。

  3. 样例:

    签名内容:hello
    签名密钥:123456
    签名结果:NYSQUfYBHG0EZ6pU+r+Iw4CvPIQ=

二、 签名算法java版demo

    /**
     * 薪人薪事消息签名计算
     *
     * @param content 签名明文
     * @param key     应用密钥
     * @return 签名信息
     * @throws Exception
     */
    public static String hmacSha1Encrypt(String content, String key) throws Exception {
        byte[] keyBytes = key.getBytes(StandardCharsets.UTF_8);
        SecretKeySpec localSecretKeySpec = new SecretKeySpec(keyBytes, "HmacSHA1");
        Mac localMac = Mac.getInstance("HmacSHA1");
        localMac.init(localSecretKeySpec);
        byte[] contentBytes = content.getBytes(StandardCharsets.UTF_8);
        localMac.update(contentBytes);
        return Base64.encodeBase64String(localMac.doFinal());
    }
2020 © 企家有道网络技术(北京)有限公司版权所有@京ICP备15035315号 all right reserved,powered by Gitbookupdate by: 2020-12-16 14:23:56

results matching ""

    No results matching ""