Python-hashlib模块:自定义密码加密规则,密码加密
2024-01-08 05:46:54
hashlib的使用场景
对于hashlib中,加123456加密,拆开加密和整体加密,其结果是一样的。
1、明文加密
对于密码加密,可以使用加盐的操作来提高安全性。
import hashlib
def make_hash_password(the_str:str):
if not isinstance(the_str,str):
raise ValueError('传递的值必须是字符串')
if len(the_str)<3:
raise ValueError('加密的字符串必须不短于3')
sha_256 = hashlib.sha256()
dic = {
0:'2H&',
1:'g$9',
2:'&Z0',
3:'p@5', #0-3 加3个字符
4:'Bh6*',
5:'K3#2w',
6:'J0$9dW', #4-6 加对应的数值的字符数
'last':'h9@3K6Z' # 7或以上,加7个字符数
}
strs = ''
for i in range(len(the_str)):
key = dic.get(i,dic.get('last'))
sha_256.update(key.encode('utf-8'))
sha_256.update(the_str[i].encode('utf-8'))
strs+=key
strs+=the_str[i]
return sha_256.hexdigest()
if __name__ == '__main__':
has_pwd = make_hash_password('123')
print(has_pwd
2、文件一致性校验
对于大文件,为了确保下载的文件是否正常,常常使用hashlib来做文件一致性校验。在下载后,可以对比hash值是否一致来判断文件是否损坏或被修改。(国外的软件商一般都有这个hash值校验,保证下载的软件是正版没有被改动的)
import hashlib
m = hashlib.md5()
with open(r'G:/logging模块配图.png','rb') as f:
for line in f:
m.update(line)
print(m.hexdigest())
文章来源:https://blog.csdn.net/weixin_46371752/article/details/135401538
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!