【python】模块——hashlib模块
一、加密算法(MD5、SHA1、 SHA224、 SHA256、SHA384、 SHA512 )
1.MD5算法:只能加密明文生成密文,不能通过密文获取明文
2.加密由简单到复杂:SHA1、 SHA224、 SHA256、SHA384、 SHA512,最常用的是SHA256
二、加密方法(以MD5为例)
1.导入hashlib模块
import hashlib
2.生成对象hash
hash = hashlib.md5() #获取对象
3.生成密文
hash.update(bytes('admin', encoding='utf-8')) #生成密文
4.获取密文
hash_md5 = hash.hexdigest() print(hash_md5 ) #打印密文
5.注意:
(1)生成密文方法update(str) 传入参数有两种格式:
①bytes('admin', encoding='utf-8')
②"adminroot".encode("utf8")
(2)防止撞库方法:hash = hashlib.md5(bytes('898oaFs09f',encoding="utf-8"))
(3)python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密
import hmac h = hmac.new(bytes('898oaFs09f',encoding="utf-8")) h.update(bytes('admin',encoding="utf-8")) print(h.hexdigest())
三、其他加密方法
import hashlib # ######## md5 ######## hash = hashlib.md5() #获取对象 # help(hash.update) hash.update(bytes('admin', encoding='utf-8')) #生成密文 print(hash.hexdigest()) #打印密文 print(hash.digest()) ######## sha1 ######## hash = hashlib.sha1() hash.update(bytes('admin', encoding='utf-8')) print(hash.hexdigest()) # ######## sha256 ######## hash = hashlib.sha256() hash.update(bytes('admin', encoding='utf-8')) print(hash.hexdigest()) # ######## sha384 ######## hash = hashlib.sha384() hash.update(bytes('admin', encoding='utf-8')) print(hash.hexdigest()) # ######## sha512 ######## hash = hashlib.sha512() hash.update(bytes('admin', encoding='utf-8')) print(hash.hexdigest())
四、实例
暂无
————————————————————结束————————————————————
浙公网安备 33010602011771号