內建模組二 hashilib

2022-08-02 11:09:09 字數 2393 閱讀 7062

# 登入 —— hashilib

# 資料庫洩露

# 儲存使用者密碼的時候 : 不要儲存明文

# 對使用者輸入的密碼進行一種計算 計算之後 會得到乙個新的 固定的 字串

# hashlib模組 摘要演算法 ---> 單向不可逆

# 包含了多種演算法

# 將乙個字串進行摘要運算 拿到不變的 固定長度的值

# import hashlib

# md5obj = hashlib.md5() # 例項化乙個md5摘要演算法的物件

# md5obj.update('alex3714'.encode('utf-8')) # 使用md5演算法的物件來操作字串

# ret = md5obj.hexdigest() # 獲取演算法的結果 hex+digest 16進製制+消化

# print(ret,type(ret),len(ret))

# 註冊 :alex3714 -摘要-> 檔案裡

# 登入 :alex3714 -摘要-> 和檔案裡比對

# md5obj = hashlib.sha1() # 例項化乙個md5摘要演算法的物件

# md5obj.update('alex3714'.encode('utf-8')) # 使用md5演算法的物件來操作字串

# ret = md5obj.hexdigest() # 獲取演算法的結果 hex+digest 16進製制+消化

# print(ret,type(ret),len(ret))

# 撞庫

# 別人有乙個龐大的庫 :字串 --> md5值的關係

# 加鹽

# md5obj = hashlib.md5('tesla'.encode('utf-8')) # 例項化乙個md5摘要演算法的物件,加鹽

# md5obj.update('alex3714'.encode('utf-8')) # 使用md5演算法的物件來操作字串

# ret = md5obj.hexdigest() # 獲取演算法的結果 hex+digest 16進製制+消化

# #aee949757a2e698417463d47acac93df

# print(ret)

# 動態加鹽

# userinfo表

# username = 'alex'

# md5obj = hashlib.md5(username.encode('utf-8')) # 例項化乙個md5摘要演算法的物件,加鹽

# md5obj.update('alex3714'.encode('utf-8')) # 使用md5演算法的物件來操作字串

# ret = md5obj.hexdigest() # 獲取演算法的結果 hex+digest 16進製制+消化

# #aee949757a2e698417463d47acac93df

# print(ret)

# 校驗檔案一致性

# 自動化 —— python**來做驗證

# import hashlib

# md5obj = hashlib.md5() # 例項化乙個md5摘要演算法的物件

# md5obj.update('alex'.encode('utf-8')) # 使用md5演算法的物件來操作字串

# md5obj.update('3714'.encode('utf-8')) # 使用md5演算法的物件來操作字串

# print(md5obj.hexdigest())

# aee949757a2e698417463d47acac93df

# aee949757a2e698417463d47acac93df

# 寫乙個函式 接收兩個檔案的位址 返回t/f

def compare(file1,file2):

with open(file1,mode='r',encoding='utf-8')as f1:

md5job = hashlib.md5()

for line in f1:

md5job.update(line.encode('utf-8'))

ret1=md5job.hexdigest()

# print(ret1)

with open(file2,mode='r',encoding='utf-8') as f2:

md5job2 = hashlib.md5()

for line in f2:

md5job2.update(line.encode('utf-8'))

ret2 = md5job2.hexdigest()

# print(ret2)

if ret1==ret2:

return true

else:

return false

print(compare('file1.py','file2.py'))

python內建模組 Python 內建模組

內建模組 python有一套很有用的標準庫 standard library 標準庫會隨著python直譯器,一起安裝在你的電腦中的。它是python的 乙個組成部分。這些標準庫是python為你準備好的利器,可以讓程式設計事半功倍。常用標準庫 標準庫 說明 builtins 內建函式預設載入 os...

url內建模組和http內建模組

url let url require url 用來解析url中每一部分資訊的 如果第二個引數傳true,會自動把問號引數解析成鍵值對的形式,儲存在query屬性中 pathname 請求路徑名稱 伺服器端要做的常規任務 2.接受客戶端的請求資訊 請求靜態資源檔案 請求資料 3.查詢到對應的資源檔案...

內建模組 os模組

import os 檔案系利 操作檔案 刪除檔案,謹慎,不可逆 os.remove dir3 dsfs 重新命名檔案 os.renames test123 test333 改名字,預設改成txt格式 os.rename test123 r lxx lxx2 test123 舊檔案跟新檔案都需要是相對...