### 功能说明 当前功能主要用于有特殊需求的用户,例如对数据安全性要求比较高的,需要对入参的参数进行密钥解密等 ### 应用场景 用于用户回调时做确认,增加对外入口的安全性 ### 密钥说明 callback_open_status:是否开启加密,0-不开启 1-开启,由用户传入 callback_secret:任意字符串都可以,最多不超过32个字符,由用户传入,只有 callback_open_status等于1时有效 ### 加密方式 使用快递单号+时间戳+密钥拼接成字符串,然后对这个字符串做MD5加密,得到加密值 showapi_callback_time:时间戳,精确到毫秒,由易源平台自动生成 showapi_callback_sign:加密值,由易源平台自动生成 ### 推送结果 放入到回调的数据里,例如: {"result":"{\"update\":1599202599628,\"upgrade_info\":\"\",\"updateStr\":\"2020-09-04 14:56:39\",\"logo\":\"http://app2.showapi.com/img/expImg/yuantong.jpg\",\"dataSize\":10,\"status\":4,\"fee_num\":1,\"tel\":\"021-69777888/95554\",\"data\":[{\"time\":\"2020-06-30 16:01:01\",\"context\":\"客户签收人: 已签收\"}],\"expSpellName\":\"yuantong\",\"msg\":\"查询成功\",\"mailNo\":\"YT4620020577123\",\"queryTimes\":1,\"ret_code\":0,\"flag\":true,\"expTextName\":\"圆通速递\",\"possibleExpList\":[],\"outCode\":\"xxx\"}", "showapi_callback_time":"showapi_callback_time时间戳在这里,精确到毫秒", "showapi_callback_sign":"showapi_callback_sign加密结果在这里,32位的md5加密字符串"} ### 实例 假如快递单号为:SF1045693201073 推送的时间戳:1611206226667 用户上传的密钥为:123654789 加密后的值为:5cab65e947b62161192512c2fdd5be1d 即: 用户的密钥: callback_open_status = 1 callback_secret = 123654789 用户的快递单号: mailNo = SF1045693201073 最终易源推送: showapi_callback_time = 1611206226667 showapi_callback_sign = 5cab65e947b62161192512c2fdd5be1d ### 用户如何确认数据安全性? 1、获取到易源推送的数据后,取出 showapi_callback_time、showapi_callback_sign 、 nu 和 callback_secret ; 2、拼接字符串、顺序为 nu + showapi_callback_time + callback_secret ; 3、对拼接后的字符串做MD5,得到加密值; 4、比对 showapi_callback_sign 和 加密值 ,如果相同表示数据是安全的