美文网首页python 技术的魅力
python中hashlib加密模块的使用

python中hashlib加密模块的使用

作者: 君惜丶 | 来源:发表于2017-06-01 14:19 被阅读302次

    hashlib

    用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

    #!/usr/bin/env python
    # _*_ coding:utf-8 _*_
    __author__ = 'junxi'
    
    import hashlib
    
    # ######## md5 ########
    hash = hashlib.md5()
    # help(hash.update)
    hash.update('admin'.encode('utf-8'))
    print(hash.hexdigest())
    print(hash.digest())
    
    
    # ######## sha1 ########
    hash = hashlib.sha1()
    hash.update('admin'.encode('utf-8'))
    print(hash.hexdigest())
    
    
    # ######## sha256 ########
    hash = hashlib.sha256()
    hash.update('admin'.encode('utf-8'))
    print(hash.hexdigest())
    
    
    # ######## sha384 ########
    hash = hashlib.sha384()
    hash.update('admin'.encode('utf-8'))
    print(hash.hexdigest())
    
    
    # ######## sha512 ########
    hash = hashlib.sha512()
    hash.update('admin'.encode('utf-8'))
    print(hash.hexdigest())
    

    以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。

    import hashlib
    
    # ######## md5 ########
    hash = hashlib.md5('898oaFs09f'.encode("utf-8"))
    hash.update('admin'.encode("utf-8"))
    print(hash.hexdigest())
    

    python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密

    import hmac
    
    h = hmac.new('898oaFs09f'.encode("utf-8"))
    h.update('admin'.encode("utf-8"))
    print(h.hexdigest())
    

    相关文章

      网友评论

        本文标题:python中hashlib加密模块的使用

        本文链接:https://www.haomeiwen.com/subject/rcasfxtx.html