Web API08-python中的md5加密

接口測試為了數(shù)據(jù)傳輸?shù)陌踩苑乐箶?shù)據(jù)泄露,做接口自動化的時候接口文檔經(jīng)常會使用md5加密。本篇文章將對“python中的md5加密”進行講解,希望感興趣的小伙伴可以堅持看下去同時歡迎提出寶貴的意見讓我們一起進步!

01:md5加密(Message-Digest Algorithm 5)

1)基本概述:用于確保信息傳輸完整一致,是計算機廣泛使用的雜湊算法之一。又稱摘要算法、哈希算法。

2)表現(xiàn)方式:通過一個函數(shù),把任意長度的數(shù)據(jù)轉(zhuǎn)換為一個長度固定的數(shù)據(jù)串(通常用一個32位的16進制字符串表示)

3)特點:

壓縮性:任意長度的數(shù)據(jù),算出的MD5值長度都是固定的。
容易計算:從原數(shù)據(jù)計算出MD5值很容易。
抗修改性:對原數(shù)據(jù)進行任何改動,哪怕只修改1個字節(jié),所得到的MD5值都有很大區(qū)別。
強抗碰撞:已知原數(shù)據(jù)和其MD5值,想找到一個具有相同MD5值的數(shù)據(jù)(即偽造數(shù)據(jù))是很困難的

4)注意事項:md5算法是不可逆的

02:獲取時間

1)獲取當前時間的時間戳:time.time(1970紀元后經(jīng)過的浮點秒數(shù))

2)獲取當前日期和時間:now_time = datetime.datetime.now()

3)格式化日期:strftime()

import time,datetime
#當前時間的時間戳
modify_time=time.time()
#當前日期和時間
now_time = datetime.datetime.now()
#格式化日期
time=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
03:md5加密實例化

sign計算方式:sign = Md5 (key + supplierNo + interfaceType + orderNo)

import hashlib
import datetime,random,string

# 待加密信息
key='123456'
supplierNo='axcx'
interfaceType='proposalOrder'
orderNo= ''.join(random.sample(string.ascii_letters+string.digits, 15))
# 創(chuàng)建md5對象
m=hashlib.md5()
#添加要加密的字符串,此處必須聲明encode
m.update(f'{key}{supplierNo}{interfaceType}{orderNo}'.encode('UTF-8'))
#md5加密
md5value=m.hexdigest()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,405評論 6 13
  • 之前的項目中接觸過一些加密的方法,也沒有太仔細的進行記錄和研究。最近在寫SDK時,加密模塊的占比相當之大;借此時機...
    過半_e764閱讀 696評論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,655評論 1 32
  • 常用模塊 認識模塊 什么是模塊 什么是模塊? 常見的場景:一個模塊就是一個包含了python定義和聲明的文件,文...
    go以恒閱讀 2,169評論 0 6
  • 目錄一、MD5?1、MD5是什么?2、MD5的特點?3、MD5的問題?4、MD5的應用場景?5、MD5的代碼二、S...
    意一ineyee閱讀 20,340評論 6 33

友情鏈接更多精彩內(nèi)容