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签名认证的更多相关文章

  1. 关于下载SAE日志签名认证的方法——PHP版

    之前需要下载SAE上的日志存入数据库,因此研究了下SAE的签名认证和日志下载.这个链接是SAE官方给出的API文档.https://www.sinacloud.com/doc/api.html#qia ...

  2. php签名认证

    一.概述 开年第一篇,该篇主要讲述了接口开发中,如何安全认证.如何用php签名认证. 二.说说历史 签名认证是什么?为什么要做签名认证?签名认证哪里会用到?no.no.no.....是不是,是不是,一 ...

  3. ASP.NET Web API 2 使用 DelegatingHandler(委托处理程序)实现签名认证

    Ø  前言 在前一篇ASP.NET Web API 2 使用 AuthorizationFilter(授权过滤器)实现 Basic 认证文章中实现了采用 Basic 认证的方式,但是这种方式存在安全隐 ...

  4. ASP.NET WebApi 基于OAuth2.0实现Token签名认证

    一.课程介绍 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将是我们需要思考的问题.为了保护我们的WebApi数 ...

  5. ASP.NET WebApi 基于JWT实现Token签名认证

    一.前言 明人不说暗话,跟着阿笨一起玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NET WebServi ...

  6. ASP.NET WebApi 基于分布式Session方式实现Token签名认证

    一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...

  7. kbmmw 做REST 服务签名认证的一种方式

    一般对外提供提供REST 服务,由于信息安全的问题, 都要采用签名认证,今天简单说一下在KBMMW 中如何 实现简单的签名服务? 整个签名服务,模仿阿里大鱼的认证方式,大家可以根据实际情况自己修改. ...

  8. 火币网API文档——REST API 签名认证

    安全认证 目前关于apikey申请和修改,请在“账户 - API管理”页面进行相关操作.其中AccessKey为API 访问密钥,SecretKey为用户对请求进行签名的密钥(仅申请时可见).Pro站 ...

  9. ASP.NET WebApi 基于分布式Session方式实现Token签名认证(发布版)

    一.课程介绍 明人不说暗话,跟着阿笨一起学玩WebApi!开发提供数据的WebApi服务,最重要的是数据的安全性.那么对于我们来说,如何确保数据的安全将会是需要思考的问题.在ASP.NETWebSer ...

随机推荐

  1. iOS提醒用户进入设置界面进行重新授权通知定位等功能

    iOS 8及以上版本最不为人知的一个特点是与应用设置的深层链接,用户可以根据APP的需要授权启用位置.通知.联系人.相机.日历以及健康等设置. 大多数应用程序仅仅是弹出一个包含操作指令的警示窗口,如“ ...

  2. 阿里云ECS/Ubuntu Server安装Gnome图形桌面

    一.配置好Source源列表 可以参考:http://blog.csdn.net/xukai871105/article/details/24887245 另附一个比较好方便的Source源更新方法: ...

  3. python 连接 mysql

    http://blog.csdn.net/yelbosh/article/details/7498641 数据库的连接 模块引入之后我们就需要和数据库进行连接了,实例代码如下: db = MySQLd ...

  4. 为什么Erlang比C慢那么多倍?

    Erlang 一直以慢“著称”,本文就来看看 Erlang 慢在什么地方,为什么比实现同样功能的 C 语言程序慢那么多倍.Erlang 作为一种虚拟机解释的语言,慢是当然的.不过本文从细节上分析为什么 ...

  5. (ios实战) UINavigationBar 返回按钮 文本自定义实现

    在实际开发过程, 我们使用navigationController时,上一个标题过长,导致下一个界面的返回按钮文本过长,比较难看,如果标题取名过短,又不能完全表达含义. 下面时如何实现返回按钮的Tit ...

  6. j-query应用---鼠标悬停不同文字显示不同背景图片banner动画

    源代码部分:注意事项:样式表的引用的路径要一致. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  7. docker-1 初识docker

    五分钟认识docker 什么是docker? 把他想象成一个用了一种新颖方式实现的超轻量虚拟机,在大概效果上也是正确的.当然在实现的原理和应用上还是和VM有巨大差别的,并且专业的叫法是应用容器(App ...

  8. Tomcat如何添加管理员

    为Tomcat添加管理员,然后用管理员登录后就可以看到所有加载的工程包,以及运行的平台,还可以对项目进行管理,比如删和添加. 一.工具:apache-tomcat-7.0.39 二.添加步骤 1. 首 ...

  9. 烂泥:KVM与kickstart集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. KVM与kickstart集成在这里我要说明下,因为在前面有关CentOS无人值守安装的文章中,我提到过如果要使用网卡PXE功能的话,内网中必须有DHC ...

  10. echo

    echo $echo [-e] [内容字符串]显示后面的内容,缺省选项表示将后面的内容原模原样的显示出来,如果后面接的字符串不用"",会默认以空格为分隔符输出多个串 可以配合She ...