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 ...
随机推荐
- 【转载】菜鸟Ubuntu下安装Android Studio
原文:http://forum.android-studio.org/forum.php?mod=viewthread&tid=236&extra=page%3D1%26filter% ...
- 双系统如何删除Linux,恢复Windows从MBR引导启动?
嗯,现在愿意尝试Linux的人越来越多了.通常,如果一台电脑里已经装有了Windows,再装Linux,安装时,Linux的grub引导程 序就会覆盖掉保存在MBR当中的原来的Windows引导程序. ...
- 在阿里云主机的Debian操作系统上安装Docker
因为需要新搭建饭团网站,所以需要在阿里云的主机上跑数据库,java环境. 考虑到可扩展性和模块化,所以准备最近流行的docker技术.Docker -- 从入门到实践 阿里云主机1核1G,资源不多,所 ...
- Hive安装与配置(靠谱亲测)
Hive是hadoop生态环境的组成之一.通过Hive,可以使得直接用SQL操作HDFS.最大的好处就是让熟悉SQL,但是不了解JAVA的数据分析师使用.其机制就是一个将SQL语言转化为MapRed ...
- android中的事件传递和处理机制
一直以来,都被android中的事件传递和处理机制深深的困扰!今天特意来好好的探讨一下.现在的感觉是,只要你理解到位,其实事件的 传递和处理机制并没有想象中的那么难.总之,不要自己打击自己,要相信自己 ...
- 《SQL Server企业级平台管理实践》读书笔记——SQL Server数据库文件分配方式
1.文件分配方式以及文件空间检查方法 最常用的检查数据文件和表大小的命令就是:sp_spaceused 此命令有三个缺陷:1.无法直观的看出每个数据文件和日志文件的使用情况.2.这个存储过程依赖SQL ...
- 枚举Enumerations
枚举,类似于数据库中的表. 难点:实例值和原始值. import Foundation enum Sex{ case Male(Int,Int) case Female(String) } var b ...
- Spring 下载与安装以及spring 3.2.9 jar包详解
一.Spring简介 Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在 ...
- Python2
安装pycharm专业版,不要汉化 要想写的代码支持linux和2.0版本需要在开头加上注释 #/usr/bin/env python #-*- coding:utf-8 -*- 运算符 结果是值 算 ...
- redis动态修改参数配置
./redis-cli -h 10.10.10.11 -p 6401 save # 保存当前快照 # 列出所有当前配置 config get * # 查看指定配置 config get ...