分享甲方项目一个涉及密钥,使用秘钥基于HMC-SHA1算法进行请求内容的加密和解密脚本开发过程(1)

脚本开发工具:idea64(压测工具为甲方采购的第三方压测工具,脚本基本idea64编辑器调试,压测工具非LR)

项目背景:
二、接口介绍
  每个接入用户提供一个用户名AccessKeyID、秘钥AccessKeySecret;使用秘钥基于HMC-SHA1算法进行请求内容的加密和解密;
三、URL生成规则
URL字符说明:
    对于字符 A-Z、a-z、0-9 以及字符“-”、“_”、“.”、“~”不编码;
    对于其他字符编码成 “%XY” 的格式
    对于扩展的 UTF-8 字符,编码成 “%XY%ZA…” 的格式
    需要说明的是英文空格( )要被编码是 %20,而不是加号(+)
    时间类型"yyyy-MM-dd'T'HH:mm:ss'Z'"
    SignatureNonce为32位随机数UUID,生成一个不重复的32位的随机数即可
Signature生成规则:
    连接内容排序:将本URL中,除Signature外其他所有参数,按照参数名称的字典顺序
    使用AccessKeySecret基于HMC-SHA1算法加密
    对加密结果用MD5加密
举例参数:
    AccessKeyID=userid
    AccessKeySecret=password
    TimeStamp=2016-02-23 12:46:24
    SignatureNonce=4028e6b8614682c301614682c3510000
    根据参数名排序后:
AccessKeyID=userid&SignatureNonce=4028e6b8614682c301614682c3510000&TimeStamp=2016-02-23T12:46:24
    使用AccessKeySecret基于HMC-SHA1算法加密及MD5加密算法示范:

输出结果:D29569843EB9DFA0F59E921F32D24973
    生成请求URL:
https://ivs.baiwang.com/collect?AccessKeyID=userid&TimeStamp=2016-02-23T12:46:24Z&SignatureNonce=123456&Signature=D29569843EB9DFA0F59E921F32D24973

入参数据校验:
    检查该接口参数数量、字段类型、长度是否一致,否则提示错误:005
    检查AccessKeyID授权是否过期,已过期则提示错误:103。目前开通的AccessKeyID未设置
    TimeStamp不能和本系统时间差异不能超过5分钟,否则提示错误:003
    根据AccessKeyID检查该接口是否有权限访问,否则提示错误:102
    SignatureNonce是否已被占用,被占用则提示:004
    检查Signature是否正确,否则提示错误:001
    TaxNo不能为空,且TaxNo必须存在,否则提示错误703
    Jason入参必须存在,否则提示错误704

JSON入参说明:

AccessKeyID:””,        //用户名
    TaxNo:””,                //初始化发票的税号
    Version: ””,           //版本号,默认为1.0(参考文档版本的前两位数字)
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值