接口測試中SHA256加密算法實現

引言

做接口測試的時候,是否遇到一些需要加密的接口,但是不知如何進行測試呢?今天我們來學習一下SHA256加密算法接口如何進行測試的。

算法介紹

SHA256加密算法
SHA256是SHA-2下細分出的一種算法。SHA-2,名稱來自於安全散列算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數算法標準(哈希算法),由美國國家安全局研發,屬於SHA算法之一,是SHA-1的後繼者。
  SHA-2下又可再分爲六個不同的算法標準,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。這些變體除了生成摘要的長度 、循環運行的次數等一些微小差異外,
  算法的基本結構是一致的。對於任意長度的消息,SHA256都會產生一個256bit長的哈希值,稱作消息摘要。這個摘要相當於是個長度爲32個字節的數組,通常用一個長度爲64的十六進制字符串來表示。
SHA256特點:
  1. 單向加密,不可解密
  2. 同明文,同密文
  3.應用場景: 網站驗證密碼爲了保證安全,不會儲存明文密碼,而直接儲存 hash

代碼實現

SHA256加密算法的接口測試
  接口地址: http://47.96.181.17:8098/login
  返回格式: json
  請求方式: POST
  請求參數:{“userName”:“您的用戶名”,“password”:“sha256加密後的密碼”}
  請求頭:
  鍵:Content-Type 值:application/x-www-form-urlencoded
  鍵:X-Requested-With 值:XMLHttpRequest
  成功返回示例:

import requests
import hashlib
## 1.實例化一個sha256對象
sha256=hashlib.sha256()
## 2.加密原始值-比如密碼,需要將字符串轉成bytes(字節)
sha256.update('111111'.encode('utf-8'))
#print(sha256.hexdigest())
header={"Content-Type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"}
#3.發送登錄接口信息
body={"userName":"sqqdcl","password":sha256.hexdigest()}
resp=requests.post('http://47.96.181.17:8098/login',data=body,headers=header)
print(resp.text)

測試結果:

E:\Users\Administrator\Anaconda3\python.exe "I:/temp code/python/ ST project1/SHA256 .py"
{"success":"true","systemUser":{"userId":"1","userName":"sqqdcl","nickname":"sqqdcl3","avatarPath":"file/avatar/2020-02-06/","avatarName":null,"securityDigest":null,"rememberMe":false},"jumpUrl":"index"}

Process finished with exit code 0

接口測試中還有很多加密算法,如MD5、RSA、AES等,但各種算法的作用不同,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章