python hashlib模块

发布时间:2018-03-04 16:32:17编辑:admin阅读(3358)

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


    SHA512 安全性最高

    SHA和MD5 是2种算法,SHA算法比md5更复杂,更安全

    字典就是用hash做的


    MD5(不能反解)

    import hashlib
    #声明一个对象
    m = hashlib.md5()
    #增加一条二进制数据
    m.update(b"Hello")
    #16进制格式hash
    print(m.hexdigest())
    #拼接字符串
    m.update(b"It's me")
    print(m.hexdigest())
    
    m2= hashlib.md5()
    m2.update(b"HelloIt's me")
    print(m2.hexdigest())

    执行输出

    8b1a9953c4611296a827abf8c47804d7

    5ddeb47b2f925ad0bf249c52e342728a

    5ddeb47b2f925ad0bf249c52e342728a


    注意:

    m.update(b"Hello")
    m.update(b"It's me")

    等同于

    m2.update(b"HelloIt's me")


    SHA(不能反解)

    import hashlib
    #sha1以后会被淘汰的,建议使用sha512
    s2 = hashlib.sha1()
    s2.update(b"HelloIt's me")
    print(s2.hexdigest())

    执行输出

    4ca1ebbeaf8237d6d1650daad5ddaeca8e9a0e4c


    加密中文

    import hashlib
    s2 = hashlib.sha512()
    s2.update("你好,我是西门吹雪".encode(encoding="utf-8"))
    print(s2.hexdigest())

    执行输出

    ce8fd0554bbaf07b50a2787f8b6223ded649296bd007a050ffd6c0b5303ce130c6f1160bc9d5723f8808ea31ce9b95d7740d75cb96e5fd097e24c103a0aac7b7


    SSL使用SHA256


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

    import hmac
    h = hmac.new(b'1234','叶孤城'.encode(encoding="utf-8"))
    print(h.hexdigest())

    执行输出

    0bf2a3321ea64a25d3899a05f676b63c

关键字

上一篇: python configparser模块

下一篇: python re模块