import hashlib
import sys
def check_md5(fname):
m = hashlib.md5()
with open(fname, 'rb') as fobj:
while True:
data = fobj.read(4096)
if not data:
break
m.update(data)
return m.hexdigest()
if __name__ == '__main__':
print(check_md5(sys.argv[1])
$###############################
# 加密:对称加密、非对称加密、单向加密
# 单向加密:加密只能向一个方向进行,相同的数据总是得到相同的“乱码”
# 不能根据结果回推源。用途:文件完整性校验、加密密码
import hashlib
f = open('/etc/passwd', 'rb')
data = f.read()
f.close()
m = hashlib.md5(data)
print(m.hexdigest())
# m = hashlib.md5()
# m.update(data) # 每次读取一部分文件内容,更新至m对象
#
*******************************************************************************
import sys
import string as s # 导入模块时,可以取别名
sys.path # 模块导入时搜索的路径,自己写的模块可以放到site-packages
s.ascii_letters
# foo.py -> hi = 'hello'
# print(hi)
# zip mytest.zip foo.py
# rm -f foo.py
# python3
# >>> import foo -> Error
# >>> import sys
# >>> sys.path.append('./mytest.zip')
# >>> import foo