首页 > 技术文章 > Python-hashlib模块

jessicaxu 2017-11-18 07:36 原文

一、hashlib提供了常用的摘要算法,如SHA1、MD5等等。MD5速度很快,生成固定的128 bit字节,通常用一个32位的16进制字符串表示

 

二、生成MD5摘要

import hashlib


def message_md5(str1):
    md = hashlib.md5() #创建一个md5对象
    md.update(str1.encode()) #将字符串转化为二进制,再生成128位二进制摘要
    res = md.hexdigest()  #将摘要转化为32位16进制
    return res

res = message_md5('123456')
print(res)


#原始数据很长时,可分别加密
def message2_md5(str1, str2):
    md = hashlib.md5()
    md.update(str1.encode())
    md.update(str2.encode())
    res = md.hexdigest()
    return res

res = message2_md5('123', '456') #结果和 message_md5('123456')一致
print(res)


#加盐,先修改原始数据再加密,使得其他人在知道原始数据的情况下也无法得到密文
def message1_md5(str1, salt='hello'):
    str1 = str1 + salt
    md = hashlib.md5()
    md.update(str1.encode())
    res = md.hexdigest()
    return res

res = message1_md5('123456')
print(res)

 

推荐阅读