python hashlib模块

hashlib

hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法

import hashlib

d = 'good'

# ######## md5 ########
hash = hashlib.md5()    # md5不能反解,加密是固定的,就是关系是一一对应,所以有缺陷,可以被对撞出来
hash.update(bytes(d,encoding='utf-8'))  # 要对哪个字符串进行加密,就放这里
print('md5:',hash.hexdigest())      # 拿到加密字符串
# md5: 755f85c2723bb39381c7379a604160d8

# ######## sha1 ########
hash = hashlib.sha1()
hash.update(bytes(d,encoding='utf-8'))
print('sha1:',hash.hexdigest())
# sha1: fc19318dd13128ce14344d066510a982269c241b

# ######## sha256 ########
hash = hashlib.sha256()
hash.update(bytes(d,encoding='utf-8'))
print('sha256:',hash.hexdigest())
# sha256: 770e607624d689265ca6c44884d0807d9b054d23c473c106c72be9de08b7376c

# ######## sha384 ########
hash = hashlib.sha384()
hash.update(bytes(d,encoding='utf-8'))
print('sha384:',hash.hexdigest())
# sha384: c3fdd9a9527ab4346895bc0c78de4a81b56b846479aea64f4b88b1efe745d6cd9b6b13f92603808b6b2e967802c10c4e

# ######## sha512 ########
hash = hashlib.sha512()
hash.update(bytes(d,encoding='utf-8'))
print('sha512:',hash.hexdigest())
# sha512: 10259bfe1a41058e4671d05a3b962b774c4b16946b4040bc055059d1859d5f15ec4d7f01ca3f7561632d00add6122d337022a151174e5b9cebf430254b8e9fa7

注意:hashlib 加密的字符串类型为二进制编码,直接加密字符串会报错

常用方法

  • hash.update(arg) 以字符串为参数更新哈希对象

 

  • hash.digest() 返回摘要,作为二进制数据字符串值,

 

 

  • hash.hexdigest() 返回摘要,作为十六进制数据字符串值,

 

 

  • hash.copy() 复制

 

posted @ 2019-03-28 18:41  烛爻  阅读(116)  评论(0)    收藏  举报