每天努力一点点,坚持下去 ------ 博客首页

验签

接口不想让其他人使用时,可以使用上——验签:

  • 每次发送请求时需要携带一个参数,可以传在header里面,也可以传在body里面 【我们写的时候,每次发请求,都根据验签算法,生成签名传过去】

  • 根据提供的算法,生成一个签名,每次请求的时候带上这个签名-->每次发请求,根据验签算法,生成签名传过去

  • 后端验证签名通过了,这个请求时一条正常的请求,否则不处理这条请求
  • 过程:case-->http_request--->加签函数-->通过加签函数+签名--->可进行访问
复制代码
import fastapi
import hashlib
server = fastapi.FastAPI()
salt = "ssz-abc"

@server.post('/api/test')
def test(name:str,addr:str,phone:str,auth:str):
    s = '%s%s%s%s'%(name,addr,phone,salt)
    s = hashlib.md5(s.encode()).hexdigest() #加密
    if auth == s:
        return  {"code":0,"msg":"操作成功","name":name,'addr':addr,'phone':phone}
    else:
        return {"code":-1,"msg":"验签失败"}
复制代码

接口参数加密:

  • 每次请求传过来胡都是一个加密的字符串
  1. 先知道加密的算法时什么
  2. 每次发请求,都把参数加密

加密:

httpRequest
        url
        data  --> sign -> data
        method
        request.post()

 

解密:

#拿到数据之后,
response.text  ->  decrypt -> decrypt_data
   return decrypt_data

 


 

posted @   他还在坚持嘛  阅读(214)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示