常用API接口签名验证参考
来源:互联网 发布:Python脚本做压力测试 编辑:程序博客网 时间:2024/06/05 04:16
项目中常用的API接口签名验证方法:
1. 给app分配对应的key、secret
2. Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下:
a. 按照请求参数名称将所有请求参数按照字母先后顺序排序得到:keyvaluekeyvalue...keyvalue 字符串如:将arong=1,mrong=2,crong=3 排序为:arong=1, crong=3,mrong=2 然后将参数名和参数值进行拼接得到参数字符串:arong1crong3mrong2;
b. 将secret加在参数字符串的头部后进行MD5加密 ,加密后的字符串需大写。即得到签名Sign;
大致处理过程
// 用户验证、判断key是否存在,同时查询出对应的secret用于验证;
....
// 验证签名,根据算法将参数进行签名得到sign与参数中的sign进行对比;
....
// 插叙数据获取列表
如下图
app调用:http://api.test.com/getproducts?key=app_key&sign=BCC7C71CF93F9CDBDB88671B701D8A35&参数1=value1&参数2=value2.......
注:secret 仅作加密使用, 为了保证数据安全请不要在请求参数中使用。
请求的唯一性: 为了防止别人重复使用请求参数问题,我们需要保证请求的唯一性,就是对应请求只能使用一次,这样就算别人拿走了请求的完整链接也是无效的。
唯一性的实现:在如上的请求参数中,我们加入时间戳 :timestamp(yyyyMMddHHmmss),同样,时间戳作为请求参数之一,也加入sign算法中进行加密。
下面提供2个签名验证的方法:时间戳注意加入及验证的处理
1、OpenId签名及验证
2、请求参数签名及验证
一般企业内部应用相互之间接口调用是不需要进行参数的签名验证的,大部分情况下是提供给第三方时才会需要。如果您有更好的接口签名验证方法,欢迎分享
原文地址:http://www.cnblogs.com/hnsongbiao/p/5478645.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
- 常用API接口签名验证参考
- android 常用api 接口签名验证
- API接口签名验证
- API接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- 开放api接口签名验证
- api 接口的签名验证
- 开放api接口签名验证
- PHP 开发API接口签名验证
- PHP 开发API接口签名验证(一)
- 开放平台api接口签名验证说明
- PHP 开发API接口签名验证
- Caffe-Python接口常用API参考
- Caffe-Python接口常用API参考
- Caffe-Python接口常用API参考
- 微软将降低Visual Studio对操作系统的影响
- 基于DDDLite的权限管理OpenAuth.net 1.0版正式发布
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计
- 移动web开发调试工具AlloyLever介绍
- 采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)
- 常用API接口签名验证参考
- 微软官方caffe之 matlab接口配置
- 漫谈C#编程语言在游戏领域的应用
- .NET Core 跨平台发布(dotnet publish)
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
- C#中使用gRPC
- 关于《在Windows与.NET平台上的持续交付实践》的问答录
- 如何使 WebAPI 自动生成漂亮又实用在线API文档
- 官方博客明确了 .NET Core RC2/RTM 时间表