标签:hello port cti 重要 哈希 open hex 进制 path
hashlib:摘要算法/加密算法/哈希算法/散列算法
定义:通过一个函数,把任意长度的数据按照一定规则转换为一个固定的长度的数据 串,通常用16进制的字符串表示
特征要点:
import hashlib
def file_check(file_path):
with open(file_path,mode=‘rb‘) as f1:
sha256 = hashlib.md5()
while 1:
content = f1.read(1024)
if content:
sha256.update(content)
else:
return sha256.hexdigest()
print(file_check(‘python-3.6.6-amd64.exe‘))
# f = open(r"F:\s24\day17\python-3.6.6-amd64.exe","rb")
# import hashlib
# md5 = hashlib.md5()
# while True:
# msg = f.read(1024)
# if msg:
# md5.update(msg)
# else:
# print(md5.hexdigest())
# break
加密的内容
将加密的内容转换成字节
MD5普通加密,传闻已被破解
import hashlib
md5 = hashlib.md5() ##初始化
md5.update("david".encode(‘utf-8‘)) ##加密
print(md5.hexdigest()) ##合成
print(len("172522ec1028ab781d9dfd17eaca4427"))
#/sha1()加密
md5 = hashlib.sha1()
md5.update("david".encode(‘utf-8‘))
print(md5.hexdigest())
print(len("aa743a0aaec8f7d7a1f01442503957f4d7a2d634"))
# /sha256()高级加密
# md5 = hashlib.sha256()
# md5.update("david".encode(‘utf-8‘))
# print(md5.hexdigest())
md5 = hashlib.md5("hello world".encode(‘utf-8‘))
md5.update("david".encode(‘utf-8‘))
print(md5.hexdigest())
user = input(‘username>>‘)
pwd = input(‘password>>‘)
md5 = hashlib.md5(user.encode(‘ust-8‘))
md5.update(pwd.encode(‘utf-8‘))
print(md5.hexdigest())
依据hashlib的特征,hashlib也被用来验证文件一致性的重要工具
同一个bytes数据用同样的加密方式转化程度结果一定相同,如果不同,加密方式转化程度结果一定是不同的
文件较小(f.read)
def func(file):
with open(file,mode=‘rb‘) as f1:
ret = hashlib.md5()
ret.update(f1.read())
return ret.hexdigest()
print(func(‘hashlib_file1‘))
###校验pycharm的一次性校验
# f = open("./python-3.6.6-amd64.exe","rb")
# import hashlib
# md5 = hashlib.md5()
# while True:
# msg = f.read(1024)
# if msg:
# md5.update(msg)
# else:
# print(md5.hexdigest())
# break
标签:hello port cti 重要 哈希 open hex 进制 path
原文地址:https://www.cnblogs.com/daviddd/p/12033794.html