REST签名认证
139 开放平台与应用之间以REST协议进行通讯,为了保证通信的安全性,开放平台加入签名认证机制。应用一旦创建,系统生成唯一并且不公开的secretkey,只有应用的拥有者和开放平台知道。因此,当应用请求开放平台时,把请求的参数以及开放平台分配的secretkey进行MD5 HASH生成sig,从而保证通信的安全。
签名生成规则
- 把所有的请求参数按照字典顺序进行排序;注意:请把参数的连接符'&'去掉;例如:c=3&a=1&b=2排序后为a=1b=2c=3;
- 把排序后的字符串后面追加开放平台分配的secretkey;例如:secretkey=diwierwer2o45q4wer,则处理的串为:a=1b=2c=3diwierwer2o45q4wer;
- 把附加secretkey的串进行md5运算,把计算后的值作为sig参数发送请求给开放平台服务器,例如:c=3&a=1&b=2&sig=3a74f18d8c2a8f25fd145fcb02dab671;
说明:计算sig时,不需要对任何参数进行urlencode,并且都是utf-8编码;但是,当发送请求时需要进行urlencode。
应用示例
下面以请求users.getInfo方法作为例子,详细说明一下请求串的加密规则:
- 根据方法的参数列表,以POST方式向139 REST开放平台服务器发送请求的详细参数信息:
api_key=36924e87ea34bde6f1600b579c1ab6a1&method=miop.users.getInfo&call_id=12320323243234&
session_key=4d7184b05da4891d709eed3c4dc337bf&v=1.0
- 经过参数排序,并且附加secretkey以后为(假设secretkey:abcdefghi323423):
api_key=36924e87ea34bde6f1600b579c1ab6a1call_id=12320323243234method=miop.users.getInfo
session_key=4d7184b05da4891d709eed3c4dc337bfv=1.0abcdefghi323423
- 把上面生成的排序串进行md5加密:
生成加密串:7f23f63099d564100baf336330035eb9
- 把生成的加密串,作为sig参数以POST方式发送给开放平台服务器:
最终请求的参数为:api_key=36924e87ea34bde6f1600b579c1ab6a1&method=miop.users.getInfo&call_id=12320323243234&
session_key=4d7184b05da4891d709eed3c4dc337bf&v=1.0&sig=7f23f63099d564100baf336330035eb9
REST签名认证的更多相关文章
- 关于下载SAE日志签名认证的方法——PHP版
之前需要下载SAE上的日志存入数据库,因此研究了下SAE的签名认证和日志下载.这个链接是SAE官方给出的API文档.https://www.sinacloud.com/doc/api.html#qia ...
- php签名认证
一.概述 开年第一篇,该篇主要讲述了接口开发中,如何安全认证.如何用php签名认证. 二.说说历史 签名认证是什么?为什么要做签名认证?签名认证哪里会用到?no.no.no.....是不是,是不是,一 ...
- ASP.NET Web API 2 使用 DelegatingHandler(委托处理程序)实现签名认证
Ø 前言 在前一篇ASP.NET Web API 2 使用 AuthorizationFilter(授权过滤器)实现 Basic 认证文章中实现了采用 Basic 认证的方式,但是这种方式存在安全隐 ...
- ASP.NET WebApi 基于OAuth2.0实现Token签名认证
一.课程介绍 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将是我们需要思考的问题.为了保护我们的WebApi数 ...
- ASP.NET WebApi 基于JWT实现Token签名认证
一.前言 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NET WebServi ...
- ASP.NET WebApi 基于分布式Session方式实现Token签名认证
一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...
- kbmmw 做REST 服务签名认证的一种方式
一般对外提供提供REST 服务,由于信息安全的问题, 都要采用签名认证,今天简单说一下在KBMMW 中如何 实现简单的签名服务? 整个签名服务,模仿阿里大鱼的认证方式,大家可以根据实际情况自己修改. ...
- 火币网API文档——REST API 签名认证
安全认证 目前关于apikey申请和修改,请在“账户 - API管理”页面进行相关操作.其中AccessKey为API 访问密钥,SecretKey为用户对请求进行签名的密钥(仅申请时可见).Pro站 ...
- ASP.NET WebApi 基于分布式Session方式实现Token签名认证(发布版)
一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...
随机推荐
- UIlable 属性详用
我的好朋友给我制定了一个新的学习方法,从新的看每个控件,去了解他的每个属性,方法来让自己对oc的认识更加充实 今天重新认识一下UILable 的属性lable的阴影设置: 阴影的偏移量是以lable中 ...
- Ruby安装
Windows下安装ruby 先安装ruby吧 点击安装,额,咳咳什么情况,好了 人是有国籍的,但知识无国界的 是这个意思吧,选择安装语言 选择安装目录 顺便勾选上添加到环境变量吧 安装完成 ...
- mockmvc 静态引入
perform方法编译报错时,在头部静态引入即可 import static org.springframework.test.web.servlet.result.MockMvcResultMatc ...
- javascript 定时器
setTimeout()--用于指定在一段特定的时间后执行某段程序. 格式: [定时器对象名=]setTimeout("<表达式>",毫秒数); 功 ...
- Erlang 进程被抢占的条件——一个进程长时霸占调度器的极端示例
最近研究 binary 的实现和各种操作对应的 beam 虚拟机汇编指令,发现有一些指令序列是不可重入的,比如说有的指令构造一个上下文(也就是某种全局状态),然后下一条指令会对这个上下文做操作(具体的 ...
- 未能找到元数据文件“引用的DLL的路径”
使用VS的时候 偶尔会出现错误 [未能找到元数据文件“引用的DLL的路径”] 但是实际上项目中这些DLL都是做了引用的,甚至你前一天打开还是好好的,睡一觉起来 不知道什么原因 就酱紫了 原因:不详 ...
- HDU 4043 FXTZ II (组合数学-排列组合)
FXTZ II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 笔者的编辑语法:MarkDown
由于博客园里的文章有很多排版不好,一大堆文字堆在一块会影响到阅读. MarkDowm:百科 Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber).它允许人们“使用易读 ...
- tomcat发布记录
web项目发布详细步骤 服务器 tomcat服务器1.删除webapps文件夹里面的项目war包-->ifm.war(项目war名称)2.把项目的ifm.war放到webapps里面3.删除we ...
- [转]Ionic最佳实践-使用模态窗口modal
本文转自:http://m.blog.csdn.net/blog/betreex/45649689 原文地址:Ionic最佳实践-使用模态窗口modal 模态窗口的结构 在Ionic中,模态窗口通过$ ...