首页 > 技术文章 > hashlib模块

knowlegefield 2017-10-31 10:13 原文

#!/usr/bin/env python
# encoding: utf-8
"""
@version: python3.6
@file: hashlib_module.py
@time: 2017/10/26 19:55
"""
import hashlib   #将明文转成暗文,用于加密相关的操作,3.x里代替了md5模块和sha模块,
# 主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

m=hashlib.md5()#<md5 HASH object @ 0x0000014AC108F490>
m.update('hellow world'.encode('utf8'))#b表示byte 转换为二进制  还可以用m.update('hello'.encode('utf8'))
print(m.hexdigest())#hexdigest() 十六进制格式hash  digest()二进制格式hash

# 其余加密方法同上

#在python2 中不要在字符串前加任何东西,在python3则需要对字符串转码加b或.encode('utf8')

# ######## md5 ########

hash = hashlib.md5()
hash.update(b'admin')
print(hash.hexdigest())

# ######## sha1 ########

hash = hashlib.sha1()
hash.update(b'admin')
print(hash.hexdigest())

# ######## sha256 ########

hash = hashlib.sha256()
hash.update(b'admin')
print(hash.hexdigest())

# ######## sha384 ########

hash = hashlib.sha384()
hash.update(b'admin')
print(hash.hexdigest())

# ######## sha512 ########

hash = hashlib.sha512()
hash.update(b'admin')
print(hash.hexdigest())


# import hmac
# h = hmac.new(b'你是', b'我是')#in python2
# print(h.hexdigest())

import hmac
h = hmac.new('你是'.encode('utf8'), '我是'.encode('utf8'))
print(h.hexdigest())

 

推荐阅读