zoukankan      html  css  js  c++  java
  • Python__hashlib模块

    #Author wangmengzhu
    import hashlib
    m = hashlib.md5()
    m.update('hello'.encode('utf-8'))
    m.update('world'.encode('utf-8'))
    print(m.hexdigest())
    ##等价于下面
    m.update('helloworld'.encode('utf-8'))
    print(m.hexdigest())

    m = hashlib.md5()
    with open('a.xml','rb') as f:
    for line in f:
    m.update(line)
    print(m.hexdigest())
    ##等价于下面
    m = hashlib.md5()
    with open('a.xml','rb') as f:
    m.update(f.read())
    print(m.hexdigest())

    #以上加密算法虽然非常厉害,但存在缺陷,即可通过撞库解密

    #加盐
    password = 'alex3714'
    m = hashlib.md5()
    m.update(password.encode('utf-8'))
    passwd_md5 = m.hexdigest()
    print(passwd_md5)

    password = 'alex3714'
    m = hashlib.md5('lalala'.encode('utf-8'))
    m.update(password.encode('utf-8'))
    passwd_md5 = m.hexdigest()
    print(passwd_md5)



    #python还有一个hmac模块,它内部对我们创建key和内容进一步的处理然后再加密
    #必须要保证初始的key一样,输出的结果才相同
    import hmac
    h = hmac.new('alvin'.encode('utf-8'))
    h.update('hello'.encode('utf-8'))
    print(h.hexdigest())
  • 相关阅读:
    Chapter 17_1 弱引用table
    Chapter 16_5 单一方法
    Chapter 16_4 私密性
    Chapter 16_3 多重继承
    Chapter 16_2 继承
    Chapter 16_1 Class
    Chapter 16_0 面向对象编程
    小米2s刷机
    Chapter 15_4 子模块和包
    ASP.NET Core MVC 泛型接口的声明调用与注入服务
  • 原文地址:https://www.cnblogs.com/wangmengzhu/p/7364027.html
Copyright © 2011-2022 走看看