如何开发一个接口_网站接口开发

如何开发一个接口_网站接口开发1、客户端请求加密、服务端请求解密2、防止重复提交一般是在数据库加状态,在status=0的状态下更新,更新完状态变为1,这样就可以防止重复提交———————————————————————————签名基本原理是通过key/secret的实现:1,服务器……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、客户端请求加密、服务端请求解密

2、防止重复提交

     一般是在数据库加状态,在 status=0 的状态下更新,更新完状态变为1,这样就可以防止重复提交

———————————————————————————

签名基本原理是通过 key/secret 的实现:
1, 服务器负责为每个客户端生成一对 key/secret ( key/secret 没有任何关系,不能相互推算),保存,并告知客户端。
2, 当客户端调用 api 时,根据某种规则将所有请求参数串联起来并用 secret 生成签名 sign 。
3, 将 sign 和 key 一起放进请求参数对服务器进行调用。(注意 secret 不要传)
4, 服务端收到请求,根据 key 去查 secret ,然后用同样的算法,验证签名。
5, 为避免重放攻击,可加上 timestamp 参数,指明客户端调用的时间。服务端在验证请求时若 timestamp 超过允许误差则直接返回错误。

———————————————————————————————————

签名算法过程:

1.对除签名外的所有请求参数按key做的升序排列,value无需编码。
 (假设当前时间的时间戳是12345678)

例如:有c=3,b=2,a=1 三个参,另加上时间戳后, 按key排序后为:a=1,b=2,c=3,_timestamp=12345678。

2 把参数名和参数值连接成字符串,得到拼装字符:a1b2c3_timestamp12345678

3 用申请到的appkey 连接到接拼装字符串头部和尾部,然后进行32位MD5加密,最后将到得MD5加密摘要转化成大写。

示例:假设appkey=test,md5(testa1b2c3_timestamp12345678test),取得MD5摘要值 C5F3EB5D7DC2748AED89E90AF00081E6 。

————————————————————————————

 总结:

  1. 接口调用方和接口提供方约定好统一的参数加密算法
  2. 接口调用方在调用时把加密后的_sign放在参数中去请求接口
  3. 接口提供方接到响应后,判断时间戳是不是在有效时间内(这个时间间隔根据你的安全范围可以是10分钟,5分钟,20秒等,过期失效,前提是需要保证接口提供方和调用方的服务器时间为准确的网络同步时间)
  4. 把参数中除了_sign以外的参数进行加密,然后把加密结果和传过来的_sign比较,相同则执行调用请求。

     md5加密

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192351.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • APP抓包——Fiddler工具

    APP抓包——Fiddler工具Fiddler简介:Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。Fiddler的运行机制其实就是本机上监听8888端口的http代理。对于PC端Fiddler启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以如果需要监听PC端Chrome网络请求,…

    2022年5月29日
    53
  • python pyqt5安装(pyqt5官方文档中文版)

    Eric6的安装经过前两篇的介绍(Python和PyQt5的安装),本偏开始介绍Eric6的安装:PyQt5教程(一)——Python的安装PyQt5教程(二)——PyQt5的安装PyQt5教程(四)——安装所需的命令介绍1、Eric6简介:Eric6是一个全功能的Python开发IDE,…

    2022年4月16日
    414
  • Win10重装系统提示:在efi系统上windows只能安装到gpt磁盘「建议收藏」

    在重装系统的过程中遇到问题,提示信息是:在efi系统上windows只能安装到gpt磁盘。如下图所示。当选中安装的系统盘时,提示Windows无法安装到这个磁盘,选中的磁盘具有MBR分区表。在EFI系统上,Windows只能安装到GPT磁盘。主要是由于BIOS方式对应MBR分区表;EFI方式则对应GPT分区。所以主要有两种解决方法:1、让启动U盘以传统的BIOS方式启动来安装。2、…

    2022年4月18日
    3.9K
  • Python 数据可视化,常用看这一篇就够了

    Python 数据可视化,常用看这一篇就够了文章目录前言可视化视图分为4类,散点图折线图直方图条形图箱线图饼图热力图蜘蛛图二元变量分布成对关系总结前言如果你想要用Python进行数据分析,就需要在项目初期开始进行探索性的数据分析,这样方便你对数据有一定的了解。其中最直观的就是采用数据可视化技术,这样,数据不仅一目了然,而且更容易被解读。可视化视图分为4类,比较:比较数据间各类别的关系,或者是它们随着时间的变化趋势,比如折线图;联系:查看两个或两个以上变量之间的关系,比如散点图;构成:每个部分占整体的百分比,或者是随着时间的百

    2022年6月29日
    26
  • matlab GUI编程入门

    matlab GUI编程入门这里我们来实现一个加法器,功能比较简单,主要用于了解matlab中的代码是如何与控件进行交互。2.绘制界面在命令行窗口中输入:>>guide直接“确定”即可。将需要的控件从左边托至中间的编辑窗口,如下图。将按钮的“Tag”修改为“compute_pushbutton”。3.实现控件回调函数在“计算”按钮上,右键–》查看回调–》CallBack

    2022年6月4日
    50
  • vista系统改xp_男生隔一小时才回信息

    vista系统改xp_男生隔一小时才回信息昨天装了vista,挺激动的。平时都是在虚拟机上运行vista,重来没见过玻璃效果。并且使用VistaLoaderV2.1.2成功激活(这种方法即不用刷bios,也不用改什么系统文件)用了vista确实是够漂亮,但内存消耗超过700Mb,系统占了硬盘超过7g 。真是佩服M$!!它真pc当成超级计算机啦。最糟糕的uac实在是让人崩溃。看来vista最大的敌人是xp了。

    2022年10月12日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号