Python3 md5/base64/sha系列 hex 加密


md5加密

md5是不可逆的,不能解密
不論字符串多長,生成的md5是等長的

md5

import hashlib
#import md5 #Python2里的引用
s='python321'
# s.encode()#變成bytes類型才能加密
m= hashlib.md5(s.encode())
print("md51=",m.hexdigest())

m=hashlib.sha3_224(s.encode()) #長度是224
print("md52=",m.hexdigest())

m=hashlib.sha3_256(s.encode())  #長度是256
print("md53=",m.hexdigest())

m=hashlib.sha3_512(s.encode()) #長度是512
print("md54=",m.hexdigest())

md5加鹽

#如密碼是123456:
s='dsfka676f9a78#$%^' #鹽的值
#加鹽后,密碼變為: 123456dsfka676f9a78#$%^

如需加密,可調用以下函數

import hashlib
def my_md5(s,salt=''):      #加鹽,鹽的默認值是空
    s=s+salt
    news=str(s).encode()    #先變成bytes類型才能加密
    m=hashlib.md5(news)     #創建md5對象
    return m.hexdigest()    #獲取加密后的字符串
s='123456dsfka676f9a78#$%^' #鹽的值
print(my_md5(s))

Base64

import base64

s = 'python3'
#編碼1
bas1 = base64.encodebytes(s.encode()) 
print(bas1) #每57個字節有一個\n
bas2 = base64.b64encode(s.encode()) # 若不想有\n分隔,用b64encode
print(bas2)
#編碼2
m = base64.b64encode(s.encode())
res = m.decode()
print(res)

#解碼1
data = base64.b64decode(bas1)  
print(data)
#解碼2
b = base64.b64decode('MTUz')
res = b.decode()
print(res)

sha 系列 hex 加密

以sha1為例

data="123456789"
sha1 = hashlib.sha1(data).hexdigest()
print(sha1)

以sha256為例

def sha256hex(data):
    sha256 = hashlib.sha256()
    sha256.update(data.encode())
    res = sha256.hexdigest()
    print("sha256加密結果:", res)
    return res
data = "123456789"
sha256hex(data)


免責聲明!

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



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