# 登錄認證
# 加密 --> 解密
# 摘要算法
# 兩個字符串 :
# import hashlib # 提供摘要算法的模塊
md5 = hashlib.md5()
md5.update(b'123456')
print(md5.hexdigest())
#aee949757a2e698417463d47acac93df
# 不管算法多么不同,摘要的功能始終不變
# 對于相同的字符串使用同一個算法進行摘要,得到的值總是不變的
# 使用不同算法對相同的字符串進行摘要,得到的值應(yīng)該不同
# 不管使用什么算法,hashlib的方式永遠不變
import hashlib # 提供摘要算法的模塊
sha = hashlib.md5()
sha.update(b'alex3714')
print(sha.hexdigest())
# sha 算法 隨著 算法復(fù)雜程度的增加 我摘要的時間成本空間成本都會增加
# 摘要算法
# 密碼的密文存儲
# 文件的一致性驗證
# 在下載的時候 檢查我們下載的文件和遠程服務(wù)器上的文件是否一致
# 兩臺機器上的兩個文件 你想檢查這兩個文件是否相等
# 用戶注冊
# 用戶 輸入用戶名
# 用戶輸入 密碼
# 明文的密碼進行摘要 拿到一個密文的密碼
# 寫入文件
# 用戶的登錄
import hashlib
usr = input('username :')
pwd = input('password : ')
with open('userinfo') as f:
for line in f:
user,passwd,role = line.split('|')
md5 = hashlib.md5()
md5.update(bytes(pwd,encoding='utf-8'))
md5_pwd = md5.hexdigest()
if usr == user and md5_pwd == passwd:
print('登錄成功')
# 1234567890
# abcdefghijk
# 6位
# md5
# 撞庫
# 加鹽
import hashlib # 提供摘要算法的模塊
# md5 = hashlib.md5(bytes('鹽',encoding='utf-8'))
# md5 = hashlib.md5()
md5.update(b'123456')
print(md5.hexdigest())
# 動態(tài)加鹽
# 用戶名 密碼
# 使用用戶名的一部分或者 直接使用整個用戶名作為鹽
# import hashlib # 提供摘要算法的模塊
# md5 = hashlib.md5(bytes('鹽',encoding='utf-8')+b'')
# md5 = hashlib.md5()
md5.update(b'123456')
print(md5.hexdigest())
import hashilib
# 做摘要計算的 把字節(jié)類型的內(nèi)容進行摘要處理
# md5 sha
# md5 正常的md5算法 加鹽的 動態(tài)加鹽
# 文件的一致性校驗
# 文件的一致性校驗這里不需要加鹽
import hashlib
md5 = hashlib.md5()
md5.update(b'alex')
md5.update(b'3714')
print(md5.hexdigest())
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
