# 加密模組 摘要演算法 一堆加密演算法的集合體import hashlib
# 給密碼加密。
# 檔案的校驗。
# hashlib: 將str型別 通過演算法 -----> 一串等長度的數字。
# 1,不同的字串 轉化成數字肯定不同。
# 2,相同的字串即使在不同的計算機上只要使用相同的加密方式 轉化成的數字一定相同。
# 3,hashlib加密不可逆,不能破解。
import hashlib
# md5 加密
# ret = hashlib.md5()
# ret.update('好123'.encode('utf-8')) # 51cb75f82eceb17b86f019e01618d75e
# print(ret.hexdigest())
## ret = hashlib.md5()
# ret.update('fdsjfklasdfsdaflsdfjsldfjsdfsdjfdfdsffdsjfsldfdf'.encode('utf-8')) # 51cb75f82eceb17b86f019e01618d75e
# print(ret.hexdigest())
## ret = hashlib.md5()
# ret.update('1'.encode('utf-8')) # 51cb75f82eceb17b86f019e01618d75e
# print(ret.hexdigest())
## # 經常設定的 111111 000000 123456 19890425 13582250000 password 等等,做了乙個對應表,一一對去尋找
# ret = hashlib.md5()
# ret.update('123456'.encode('utf-8')) # e10adc3949ba59abbe56e057f20f883e
# print(ret.hexdigest())
# 加鹽
# 讓你的密碼更複雜。
# ret = hashlib.md5('老男孩教育'.encode('utf-8'))
# ret.update('123456'.encode('utf-8')) # b08404ec951d75b6da37fdd1bfb8c1e9
# print(ret.hexdigest())
# 動態的鹽
# username = input('請輸入使用者名稱:')
# ret = hashlib.md5(username[::2].encode('utf-8'))
# ret.update('123456'.encode('utf-8')) # 765b4e7ed31b8aa07755d1c24c69d48c
# print(ret.hexdigest())
# md5 加密效率快,通用,安全性相對差
# sha系列,演算法更好 安全性高,效率低,耗時長
import hashlib
# ret = hashlib.sha1()
# ret.update('gjfds;gfjdgfkdg;lfdkg;fdlgk;fldgk;fldg'.encode('utf-8'))
# print(ret.hexdigest())##
# ret = hashlib.sha512()
# ret.update('gjfds;gfjdgfkdg;lfdkg;fdlgk;fldgk;fldg'.encode('utf-8'))
# print(ret.hexdigest())
# 檔案校驗。
# 檔案較小用下面**。
# def check_md5(file):
# ret = hashlib.md5()
# with open(file,mode='rb') as f1:
# ret.update(f1.read())
# return ret.hexdigest()
# print(check_md5('檔案校驗1'))
# print(check_md5('檔案校驗2'))
# ret = hashlib.md5()
# ret.update('老男孩教育是最好的培訓學校'.encode('utf-8'))
# print(ret.hexdigest()) # b549bba39c1e6fd58865b2ba61a3bdff
# ret = hashlib.md5()
# ret.update('老男孩教育'.encode('utf-8'))
# ret.update('是最好的'.encode('utf-8'))
# ret.update('培訓'.encode('utf-8'))
# ret.update('學校'.encode('utf-8'))
# print(ret.hexdigest()) # b549bba39c1e6fd58865b2ba61a3bdff
# 大檔案的校驗:
def check_md5(file):
ret = hashlib.md5()
with open(file,mode='rb') as f1:
while 1:
content = f1.read(1024)
if content:
ret.update(content)
else:
break
return ret.hexdigest()
print(check_md5('檔案校驗1'))
print(check_md5('檔案校驗2')
加密模組hashlib模組
資料時代,為了防止資料安全性,防止資料洩露,會對資料進行加密,對於一些敏感資料庫,更是如此。加密是最常見的保密手段,利用技術手段把重要的資料變為亂碼。hash型別屬於雜湊型別,把任意長度的資料通過演算法函式轉換成固定長度的值,特點 不可逆 無法根據雜湊值來還原原來的資料 定長輸出 無論輸入的原始資料...
python加密模組 hashlib模組
用於加密相關的操作,3.x裡代替了md5模組和sha模組,主要提供sha1,sha224,sha256,sha384,sha512,md5演算法 sha比md5 更複雜 md5 不能反解 具體使用方法 匯入模組 import hashlib 生成乙個加密的物件並複製給變數 m hashlib.md5...
python os模組和hashlib模組
import os os.getcwd def walk dirname for name in os.listdir dirname path os.path.join dirname,name if os.path.isfile path 判斷該路徑是否為乙個正常的檔案 print path e...