常用模块--hashlib--作业

作业:对一个文件进行摘要算法,要求分段摘要,进阶操作:按字节分段摘要

思路:注意文件里的换行符是存在的,所以在按行取或按字节取都无需再去空格或换行符。

思路:可以先通过bytes打印出来看看是否包含了换行符

import hashlib
def hashlib_md5(str):
    md6 = hashlib.md5()
    md6.update(bytes(str,encoding='utf-8'))
    return md6.hexdigest()

md5 = hashlib.md5()
with open('msg','r+',encoding='utf-8') as f:
    # 按行进行摘要算法
    # for i in f:
    #     md5.update(bytes(i,encoding='utf-8'))
    #
    # print(md5.hexdigest())
    # 按字节进行摘要算法
    for i in f.read(128):
        print(i)
        md5.update(bytes(i,encoding='utf-8'))

    print(md5.hexdigest())

  #一次性读取整个文件 f.seek(0) f
= f.read() print(hashlib_md5(f)) # 调用函数

 

posted on 2019-04-24 15:36  Jerry-Wang  阅读(76)  评论(0)    收藏  举报