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

验签

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

  • 每次发送请求时需要携带一个参数,可以传在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 @ 2021-01-10 16:53  他还在坚持嘛  阅读(209)  评论(0编辑  收藏  举报