验签
接口不想让其他人使用时,可以使用上——验签:
-
每次发送请求时需要携带一个参数,可以传在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":"验签失败"}
接口参数加密:
- 每次请求传过来胡都是一个加密的字符串
- 先知道加密的算法时什么
- 每次发请求,都把参数加密
加密:
httpRequest url data --> sign -> data method request.post()
解密:
#拿到数据之后, response.text -> decrypt -> decrypt_data return decrypt_data
本文来自博客园,作者:他还在坚持嘛,转载请注明原文链接:他还在坚持嘛 https://www.cnblogs.com/brf-test/p/14258768.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架