python-hashlib包(摘要算法)

本文介绍了Python的hashlib模块,包括摘要算法如MD5、SHA1、SHA256和SHA512的应用,以及如何通过添加salt增强密码安全性。着重讲解了单向哈希性质在密码验证中的作用和示例演示。
摘要由CSDN通过智能技术生成
  • 这个包提供的是摘要算法,就是说通过产生hash值帮助用户确认内容是否有所改变。
  • 因此clash的情况也是有的,但是少
  • 摘要算法并非加密算法,因为无法通过结果反推明文。因此,这个单向计算特性决定了,可以在不存储明文口令的情况下验证用户所用的口令
  • 如果只对密码做hash,那么对于短密码其实是很容易破解的。那么可以:
    1. 加salt。这个盐值放在明文后,与明文一起加密。
    2. salt本身也可以由用户名产生,那么更难破解一点。

看这里:F:\ProgramData\Anaconda3\envs\tf\Lib\hashlib.py
在这里插入图片描述

使用示例:

import hashlib
import time


#md5常用,且快,用32位的16进制字符串表示。
#fd4711dcf73e3bdde98179b26da14906
#32
md5 = hashlib.md5()
md5.update('疯狂星期四'.encode('utf-8'))
print(md5.hexdigest())
print(len(md5.hexdigest()))

#sha1的结果是40位16进制字符串表示
#7eb42c557cd02073ae4443442f3204658e1ed2b3
#40
sha1 = hashlib.sha1()
sha1.update('疯狂星期四'.encode('utf-8'))
print(sha1.hexdigest())
print(len(sha1.hexdigest()))

#sha256和sha512会更安全,但是会慢,长度也更长
#6f49dd1785254d25098b548966d07ffcd5b64abb2aedb4fc7dcd95e7afac34248d7350e1e597a5206d5dc16889b9d7275ac4e99ab99f813ea7a8f4f1eca18a7e
#128
sha512 = hashlib.sha512()
sha512.update('疯狂星期四'.encode('utf-8'))
print(sha512.hexdigest())
print(len(sha512.hexdigest()))
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值