python基礎筆記(六):md5加密


一、md5加密

md5加密是不可逆的,只能加密,不能解密,加密時只能傳二進制類型的(字符串加encode()就能變成byte類型)。

無論多長的字符串,加密出來都是32位的。

加密需導入hashlib模塊

import hashlib
s='123'
m=hashlib.md5(s.encode())
result=m.hexdigest()#獲取加密后的結果
print(result)

封裝一個加密函數

提高安全性的方法:加鹽。

加鹽是指在你輸入的密碼后面再加一個隨機字符串。

def md5(s,salt=''):
    new_s=str(s) + salt
    m = hashlib.md5(new_s.encode())
    return m.hexdigest()

二、如何對文件加密

先打開文件,讀取文件再加密

打開文件時用rb表示用二進制打開文件,使用二進制打開,加密時不需要用encode()

f=open('PyMysql-0.7.5.py3-none.whl','rb') #rb表示用二進制打開,
jg=f.read()
m=hashlib.md5(jg) #使用二進制打開,加密時不需要用encode
result=m.hexdigest()#獲取加密后的結果
print(result)

三、base64加密

既能加密又能解密,

一般傳輸數據時會用到,加密完都是字母或者數字。

import base64 #既能加密又能解密
s='http://www.baidu.com'
b=base64.b64encode(s.encode()) #加密
result=b.decode()
print(result)

b=base64.b64decode('aHR0cDovL3d3dy5iYWlkdS5jb20=') #解密
print(b.decode())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM