开放API接口签名验证

摘要:
我们开放的api接口如果不做验证,完全暴露在外面是极其不安全的,所以我们要把我们的接口进行签名。

我们开放的api接口如果不做验证,完全暴露在外面是极其不安全的,所以我们要把我们的接口进行签名。

那签名有什么意义呢?

1、保证数据未被篡改

2、请求来源身份合法性

3、请求的唯一性 (不可复制)

那我们该如何实施呢:

1、首先我们得给客户端分配对应的key和secret

2、客户端访问数据接口之前需要用md5加密算法进行一次签名,签名内容是把我们提交的值转换成json字符串(用其他格式组织参数也行,反正客户端和服务端用同样的组织方式就行)加上我们的secret和时间戳一起签名,注意生成的签名需要生成大写字母。

3、访问接口的时候需要提交我们签名参数 提交的值 和时间戳三个一起提交

4、api服务端进行验证 首先通过key查询到客户端的secret ,然后验证时间戳是否过期,最后验证签名内容是否一致。如果签名一致的情况下说明数据未被篡改,同时表明了身份的合法性。

免责声明:文章转载自《开放API接口签名验证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[AngularJS]项目框架搭建-MyFirst SkeletonELK 二进制安装并收集nginx日志下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

面向接口编程的基本原则

1. 单一职责原则SRP ( Single Responsibility Principle ) 对于单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责 定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相...

WPF MVVM模式

什么是MVVM模式,Model(模型)-View(视图)-ViewModel(视图模型) 先来讲MVC模式,模型-视图-控制器,相信大多数人都用过原理无非是: 页面产生某个请求,先找到页面对应的控制器,然后触发控制器的方法,控制器去模型调取数据拿回来,再返回给相应的视图,最后呈现页面。 MVVM模式原理类似MVC,只不过中间的不叫控制器了叫视图模型,功能也...

小白都看得懂的Javadoc使用教程

Javadoc是什么 官方回答: Javadoc is a tool for generating API documentation in HTML format from doc comments in source code. 译:Javadoc是一款能根据源代码中的文档注释来产生HTML格式的API文档的工具。 说人话:只要你在java源码中按一...

将时间戳化成int型

今天遇到了一个紧急问题,需要把时间戳转成一个int型,就有了这个小demo #include<cstdio>#include<ctime>#include<cstdlib> intmain() { time_t t; time(&t); t = t + 8 * 3600; tm...

C#开发微信门户及应用(26)-公众号微信素材管理

微信公众号最新修改了素材的管理模式,提供了两类素材的管理:临时素材和永久素材的管理,原先的素材管理就是临时素材管理,永久素材可以永久保留在微信服务器上,微信素材可以在上传后,进行图片文件或者图文消息的发送,关注的公众号可以在素材有效期内查看相关的资源,对于永久素材,那就不会存在过期的问题,只是纯粹数量上限的限制。本文综合两方面进行介绍素材管理的各种接口...

SpringBoot集成Nacos

SpringBoot集成Nacos 1、SpringBoot集成Nacos 2、Nacos配置 2.1 命名空间 2.2 资源配置 2.2.1 Data ID 2.2.2 Group 2.2.3 Namespace 2.2.4 配置内容 2.3 配置操作 2.3.1 历史版本 2.3.2 监听查询 3、扩展配置注意事项 3.1 客户端配置...