python学习第二十五章

主要内容:

1.hashlib模块

2.configparser模块

3.logging模块

1.hashlib

主要有两个算法,一个是md5,一个是sh1算法.

md5和sh1算法都是单向不可逆的.

具体使用说明如下:

字符串调用:

import hashlib
s = "123"
ob1 = hashlib.md5()
ob1.update(s.encode("utf-8"))
print(ob1.hexdigest())

如果想"加盐"的话,示例如下:

import hashlib
s = "123"
ob1 = hashlib.md5("wo".encode("utf-8"))
ob1.update(s.encode("utf-8"))
print(ob1.hexdigest())

如果是文件的话,操作示例如下:

#版本1,自写
# import hashlib
# def file_md5(file_name):
#     with open(file_name,mode="rb") as f :
#         content = f.read()
#         return content
#
# ret = file_md5("1.txt")
#
# md5 = hashlib.md5()
# md5.update(ret)
# print(md5.hexdigest())


#版本2,参考其他人

import hashlib
def file_md5(file_name):
    with open(file_name,mode="rb") as f :
        content = f.read()
        md5 = hashlib.md5()
        md5.update(content)
        return md5.hexdigest()
p = file_md5("1.txt")
print(p)

如果大文件的话,会撑爆内存的.大文件参考如下:

import hashlib
def bigfile(file_name):
    md5 = hashlib.md5()
    with open(file_name,mode="rb") as f :
        while True:
            content = f.read(1024)
            if content:
                md5.update(content)
            else:
                break
        return md5.hexdigest()
print(bigfile("1.txt"))

 hashlib.sh1的用法和md5用法一致.

猜你喜欢

转载自www.cnblogs.com/ahliucong/p/9282843.html