1. 程式人生 > 其它 >Jmeter 檢視結果樹顯示unicode轉中文

Jmeter 檢視結果樹顯示unicode轉中文

加密

1.雜湊加密

雜湊函式是一種不可逆的加密演算法,即無法解密;MD5預設生成32位的密文;

2. python使用MD5加密

import hashlib
# 例項化物件
obj=hashlib.md5()
# 加密
obj.update("admin".encode("utf-8"))#加密的時候必須是位元組
# 獲取密文
v=obj.hexdigest()
print(v)

3.撞庫

  • 將上面產生的密文在網站上進行解密測試,發現被解析出原文;因為MD5演算法產生的值唯一;因此可能存在對應的密文字典;通過查詢可以解析到結果,發生撞庫現象;

4.加鹽

  • 為了解決上述問題,使用MD5的加鹽

    功能

    import hashlib
    # 例項化物件
    obj=hashlib.md5(b'ssdgsdfhhdfgdf')
    # 加密
    obj.update("admin".encode("utf-8"))#加密的時候必須是位元組
    # 獲取密文
    v=obj.hexdigest()
    print(v)
    # 21232f297a57a5a743894a0e4a801fc3
    # 27caf5f79691c06900114ff867b98309
    
  • 進行解密測試

    解密失敗,無法解析出對應的值

5.編寫對應的加密函式

  • 編寫好函式方便後期的呼叫與使用
  • 應用場景
    • 一般在資料庫中儲存的密碼儲存為密文的形式,因此在資料庫設計的時候可以將密碼欄位設定為32
      位;
    • 在網站中用來產生token,進行加密驗證;
  • 補充:django中應用MD5的時候,一般django配置檔案settings.py檔案中的SECRET_KEY作為;因此在使用,django的時候一定要保護好django的SECRET_KEY
import hashlib

SALT="鹽"
def md5(strings):
    hash_object=hashlib.md5(SALT.encode("UTF-8"))#轉換成位元組
    hash_object.update(strings.encode('utf-8'))
    return hash_object.hexdigest()

if __name__ == '__main__':
    print(md5("test"))

每天都是更接近成功的一天;