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

爲防止非法人員惡意盜取spa

加鹽用法code

# 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()

判斷視頻文件的一致性blog

# 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 越大越安全 md5

相關文章
相關標籤/搜索