Python學習筆記(25)MD5加密與base64加密


一、MD5加密

  python中使用自帶的加密模塊,hashlib進行MD5加密

  知識背景:對於用戶敏感信息,如登錄密碼,在明文傳遞參數時,可能會被別人竊取,需要通過MD5加密來加密數據

  MD5加密特性:無論是字符串、數字、漢字、文件等,加密完均是18位的數字和字符串組合,且加密后無法解密,網站的解密一般通過撞庫來實現。

  

import hashlib
s = ['漢字','asdnecc',1234]#任何字符串,數字,漢字,文件等,加密完都是18位字符串
for i in s:
    m = hashlib.md5(str(i).encode())#入參必須通過encode()方法轉換為字節型
    result = m.hexdigest()#通過十六進制格式返回
    print(result)

  返回結果:

8a97ee1fcddc24870fb66b4b58c41214
1f85206057bcc8a7e9543a94ac60c96e
81dc9bdb52d04dc20036dbd8313ed055

 

二、加鹽

  背景:由於用戶可能設置比較簡單的密碼如123456,654321,等有比較強規則的數據時,由於MD5加密后是固定字符串,很容易被其他人猜出密碼,所以需要通過加鹽操作來對數據加密

  

salt = '21385#$%&*'
password = input('password:')
password +=salt
m = hashlib.md5(password.encode())
result = m.hexdigest()
print(result)

  返回結果:

password:123
21d01ea49572576a3e09dc71709b05d1

  
三、base64位加密

  python中使用自帶的base64模塊進行base加密

  base64加密特性:

    1、加密后的數據,可以通過解密得到原數據 

    2、加密后的數據長度不是固定值,隨着加密字符串的大小而變化

 

import base64 #能加密 解密,末尾有等於號一般都是base64加密
#加密
s = 'https://www.baidu.com'
b = base64.b64encode(s.encode())#接收bytes入參,返回bytes加密結果
t = b.decode()#返回的bytes數據通過decode()轉換為字符串
print(t)
#解密
b = base64.b64decode(t)
print(b.decode())

  返回結果:

aHR0cHM6Ly93d3cuYmFpZHUuY29t
https://www.baidu.com

  

 


免責聲明!

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



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