IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 一篇文章带你了解接口防刷与常见签名加密算法 -> 正文阅读

[系统运维]一篇文章带你了解接口防刷与常见签名加密算法

什么是接口?

要想了解接口防刷,首先我们应该要对接口有一个概念。接口,可以分为程序内部的接口:方法与方法、模块与模块之间,通过调用程序内部抛出的接口进行交互;系统对外的接口:通过调用别人提供的接口来获取别人网站或者服务器上的资源或信息。

接口防刷

  • 在用户访问接口时获取用户IP,访问一次则访问次数对应加1,并为该访问次数设置有效时间在每次访问时判断访问次数值是否超过设置的最大访问次数,如果是则拒绝该用户访问
  • 根据接口的承受能力设置限流,当每秒请求量达到指定阈值时拒绝多余请求
  • 给对外接口加验证身份的签名,即在调用接口前对调用者需要传递数据进行加密生成一个签名摘要,在调用时将传递数据再次生成一个新的签名摘要,若两个签名摘要相同则验证通过
  • 对http请求头进行头信息的校验

在这里我们介绍一下第三点验证身份签名使用的HMAC算法应用:

  1. 先由客户端向服务器发出一个验证请求
  2. 服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为挑战)
  3. 客户端将收到的随机数与自己的密钥进行HMAC-SHA1运算并得到一个结果作为认证证据传给服务器(此为响应)
  4. 与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-SHA1运算,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户?

由于九月份刚打完数学建模国赛,感觉论文提交第一步生成的MD5码有第三点验证身份签名的感觉,所以对第三点的签名摘要进行了进一步的了解。

常见的签名加密算法

  • MD5算法
  • SHA1算法
  • HMAC算法
  • AES/DES/3DES算法

在这里我们只介绍前两种算法:

MD5算法

MD5消息摘要算法是一种哈希算法,用于在通过不安全通道传输文件时保护数据。 数据包通过加密散列函数传递,以创建消息的压缩映像,称为摘要。无论多长的输入,MD5都会输出长度为128bits的一个串,用以确保信息传输完整一致。

MD5算法是不可逆的,不能通过摘要信息得到原始数据。

MD5特性:

  • 压缩性: 对于任意长度的输入, 输出长度总是相同的
  • 容易计算:?线性时间复杂度
  • 抗修改性: 对原数据的一点点修改都会导致最终结果的巨大变化
  • 抗碰撞性: 已知原数据和MD5值很难生成与原数据不同但MD5值相同的数据

SHA1算法

SHA-1算法是目前最常用的安全散列算法和最先进的加密技术。SHA-1算法接收一段明文,对长度不超过2的64次方的消息产生160bits的消息摘要输出。

SHA1特性

  • 单向性:由原始消息计算出信息摘要很容易,而由消息摘要计算出原始消息在计算上则几乎是不可行的
  • 抗碰撞性:已知原数据和SHA1值很难生成与原数据不同但SHA1值相同的数据

MD5算法与SHN1算法的区别

  • MD5 与SHA-1均是从MD4 发展而来
  • SHA-1的摘要比MD5 摘要长 32bit。因而,SHA-1对强行攻击的强度更大。
  • 由于SHA-1 的循环步骤比MD5 多(80:64)且要处理的缓存大(160 比特:128 比特),SHA-1的运行速度比MD5 慢
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:25:02  更:2021-10-03 17:25:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:55:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码