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

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