最近有學員向筆者多次反應,測試過程中,比如登入,登入時密碼一般是經過加密之後再進行登入的,如果在進行測試時填寫的密碼是明文的話,那麼進行介面測試時必然是失敗的,那麼要經過怎樣的處理才能登入成功呢?
那麼今天先簡單處理密碼是md5加密的情況下,使用python進行介面測試時,python如何處理;
當前使用的是python3.7版本;
python3.7在處理md5加密時,需要匯入模組hashlib;
python的hashlib提供了常見的摘要演算法,如md5,sha1等等。
先來看一下python是如何把字串加密成md5字串的;
import hashlib
def md5_demo(str):
md= hashlib.md5()# 建立md5物件
md.update(str.encode(encoding=『utf-8』))
return md.hexdigest()
ifname==「main」:
# 待加密資訊
str = 『123456』
md5_str = md5_demo(str)
print(『加密後為 :』 + md5_str)
hexdigest()在英語中hex有十六進製制的意思,因此該方法是返回摘要,作為十六進製制資料字串值
注意:update(str.encode(encoding=『utf-8』))這個函式裡面需要對字串進行編碼,否則會報typeerror: unicode-objects must be encoded before hashing
下面以禪道登陸介面為例進行處理:
通過fiddler抓包發現,登陸的密碼是加密處理的:
以下是**處理結果:
import requests
import hashlib
def md5_login(str):
zt_pwd = hashlib.md5()
zt_pwd.update(str.encode(encoding=『utf-8』))
return zt_pwd.hexdigest()
password = 『123456』 #登陸的使用者密碼==『123456』
url = 『
data =
response = requests.post(url,data=data) # 傳送post請求
print(response.content.decode(『utf-8』))
python 批量進行md5加密
採用工具是anaconda的python軟體工具,因為其包含python語句外,還包含許多統計函式 2 具體使用步驟 1 資料庫資料匯出成csv檔案,其中有需進行md5加密字段 2 csv匯入至python中 3 載入md5函式 4 進行md5加密 5 匯出加密後資料 md5是什麼?md5為計算機安...
python3進行md5加密
import hashlib,base64 md5加密 s 123 m hashlib.md5 s.encode res m.hexdigest print res md5加密 加鹽 def md5 s,salt new s str s salt m hashlib.md5 new s.encode...
mysql中進行md5加密
如果資料庫表user中有一列為passwd,存放的是md5加密的資料,如何更新新的資料。update user set passwd md5 123321 where uname lihua 插入新的資料 insert into user uname,passwd values xiaoqiang ...