module-hashlib

hashlib模块:用于加密相关的操作,代替了md5模块和sha模块,主要提供了SHA1,SHA224,SHA256,SHA383,SHA512,MD5算法,在python3中已经废弃了md5和sha模块
1.哈希简介

使用标准库中的 hashlib 模块可以用来处理安全哈希算法或者消息摘要算法。
这个模块包含了符合 FIPS(美国联邦信息处理标准)的安全哈希算法,例如 SHA1,SHA224,SHA256,SHA384,SHA512 以及 RSA 的 MD5 算法。
哈希的最常见的用法是,存储密码的哈希值而非密码本身。这时候使用哈希函数需要稳健一点,否则容易被破解。另一个常见的用法是,计算一个文件的哈希值,然后将这个文件和它的哈希值分别发送。接收到文件的人可以计算文件的哈希值,检验是否与接收到的哈希值相符——以此来检验文件是否被篡改。

import hashlib
m = hashlib.md5()
m.update(b'hello')
m.updae(b'It's me')
print(m.digest())
m.update(b'It's been a long time since last time we ...')
print(m.digest())  # 2进制格式hash
print(len(m.hexdigest())) # 16进制格式hash
'''
def digest(self, *args, **kwargs): # real signature unknown
    """ Return the digest value as a string of binary data. """
    pass

def hexdigest(self, *args, **kwargs): # real signature unknown
    """ Return the digest value as a string of hexadecimal digits. """
    pass

'''
import hashlib

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

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

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

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

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

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


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

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

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

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

文章作者: 阿培
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 阿培 !
 上一篇
module-logging module-logging
logging模块很多程序都有记录日志的需求,并且日志中包含的信息即有正常的访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,我们可以通过它存储各种格式的日志,logging的日志可以分为debu
2017-10-30
下一篇 
module-configparser module-configparser
python3-configparser模块configparser用于配置文件解析,可以解析特定格式的配置文件,此类文件格式为:xxx.ini。在python3中,该模块名为configparser,在python2中使用的模块名为Con
2017-10-30
  目录