hashlib 模块 摘要算法
生活随笔
收集整理的這篇文章主要介紹了
hashlib 模块 摘要算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
應用于用戶登陸,對密碼進行加密操作,
#文件操作
# hashlib 摘要算法
#md5 算法: 是32位的16進制組成的數字字符組成的字符串
#應用最廣的摘要算法
#效率高,相對不復雜,如果只是傳統摘要不安全
#sha 算法 :40位的16進制組成的數字字符組成的字符串
#sha算法比md5算法要更加復雜
#且sha n 算法越大越安全,耗時越久
普通用法
from hashlib def get_md5(s):md5_obj = hashlib.md5()md5_obj.update(s.encode("utf-8"))ret = md5_obj.hexdigest()return ret l1 = get_md5("alex123") print(l1) #b75bd008d5fecb1f50cf026532e8ae67為防止非法人員惡意盜取
加鹽用法
# def get_md5(s): # md5_obj = hashlib.md5("鹽".encode("utf-8")) #鹽是不變的 # md5_obj.update(s.encode("utf-8")) # ret = md5_obj.hexdigest() # return ret動態加鹽
# def get_md5(name,pwd): # md5_obj = hashlib.md5(name.encode("utf-8")) # md5_obj.update(pwd.encode("utf-8")) # ret = md5_obj.hexdigest() # return ret # l1 = get_md5("alex","alex123") # print(l1)?
def get_md5(name,pwd):md5_obj = hashlib.md5((name+pwd).encode("utf-8"))return md5_obj.hexdigest() print(get_md5("alex","alex123")) #判斷文件的一致性校驗 # md5_obj = hashlib.md5() # md5_obj.update("hello,world".encode("utf-8")) # ret = md5_obj.hexdigest() # print(ret)# md5_obj = hashlib.md5()判斷視頻文件的一致性
# import os,hashlib # def get_file_md5(file_path,buffer= 1024): # md5_obj = hashlib.md5() # file_size = os.path.getsize(file_path) # with open(file_path,"rb") as f: # while file_size: # count = f.read(buffer) # md5_obj.update(count) # file_size -= len(count) # return md5_obj.hexdigest()使用md5與 sha n系列用法一樣,使用sha n 越大越安全?
?
轉載于:https://www.cnblogs.com/yuncong/p/9600427.html
總結
以上是生活随笔為你收集整理的hashlib 模块 摘要算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Oracle】查看死锁与解除死锁
- 下一篇: 读取图片字节大小