【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())
hmac

 

三、其他加密方法

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())
加密方法

 

四、实例

暂无

————————————————————结束————————————————————

posted on 2018-07-24 08:38  索米尔  阅读(66)  评论(0)    收藏  举报

导航