zoukankan      html  css  js  c++  java
  • python之hashlib模块

    import hashlib
    #md5加密工具,md5是不可逆的,所以只能比较密文,不能比较明文,python中不仅仅提供md5加密方法,还提供sha1,sha224,sha256,sha384,sha512,MD5加密算法
    test_md5 = hashlib.md5()
    test_md5.update(bytes('123',encoding='utf-8'))
    ret = test_md5.hexdigest()
    print(ret)
    

      




    #还可以提供一个key
    test_md5 = hashlib.md5(bytes('abbbbb',encoding='utf-8'))
    test_md5.update(bytes('123',encoding='utf-8'))
    ret = test_md5.hexdigest()
    print(ret)
    

     

    还可以使用sha1的方法

    test_sha1 = hashlib.sha1()
    test_sha1.update(bytes("123",encoding="utf-8"))
    ret = test_sha1.hexdigest()
    print(ret)
    

    #sha1的方法也可以提供一个key

    test_sha1 = hashlib.sha1(bytes("123",encoding="utf-8"))
    test_sha1.update(bytes("123",encoding="utf-8"))
    ret = test_sha1.hexdigest()
    print(ret)
    

    #其他的算法的使用方法可以sha1和md5的方法都是雷同的,大家可以自己私下尝试

    我们可以看下下面的例子,就可以大致看出一些端倪,意思就是每个hashlib对象只能加密一个字符串,不能多次使用

    import hashlib
    
    s1 = "alex"
    s2 = "sb"
    s3 = "alexsb"
    
    m1 = hashlib.md5(bytes("aa",encoding="utf-8"))
    m1.update(bytes(s1,encoding="utf-8"))
    m1.update(bytes(s2,encoding="utf-8"))
    a = m1.hexdigest()
    print(a)
    # 5a6021d832f80e3b6067a10dff5b9f30
    
    
    
    m2 = hashlib.md5(bytes("aa",encoding="utf-8"))
    m2.update(bytes(s3,encoding="utf-8"))
    b = m2.hexdigest()
    print(b)
    # 5a6021d832f80e3b6067a10dff5b9f30
    

      

  • 相关阅读:
    JavaScript中的Date对象
    补零函数和随机数函数
    设置与获取自定义属性
    eval()
    获取DOM元素样式
    do{}while() 循环
    ++ 运算符
    switch 语句
    git
    webpack
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/6697016.html
Copyright © 2011-2022 走看看