zoukankan      html  css  js  c++  java
  • 模块>hashlib

    hshlib模块

    相当于对代码进行加密

    • MD5   结果是16位的字节码

    import hashlib
    
    msg = hashlib.md5()         #创建一个md5 的对象
    msg.update("你好呀".encode("utf-8"))     #把需要加密的内容添加给这个对象,
                                            注意:update()内的参数必须是字节,如果不是就encode为字节
    msg = msg.hexdigest()          #加密
    print(msg)
    
    结果:4f65fdb33e0f2bd0de6bd1b41fdea968

    如果数据量很大,可以分块多次调用update(),最后计算的结果是一样的:

    粗略原因是:加密是对每一个字节进行加密,只要需要加密的内容是一致得,无论分多少行,加密一次,那加密结果都是一样的

    import hashlib
    
    md5 = hashlib.md5()
    md5.update('how你好啊,我不好'.encode('utf-8'))
    print(md5.hexdigest())
    # 结果: 3bfa4bfb7b59a59f27c24ebdd89cd13c
    
    

    import hashlib
    md5
    = hashlib.md5() md5.update('how'.encode('utf-8')) md5.update('你好啊,我不好'.encode('utf-8')) print(md5.hexdigest()) # 结果: 3bfa4bfb7b59a59f27c24ebdd89cd13c

        加盐

    # 创建md5对象时在括号内添加内容就叫"加盐",为了提高安全性.同样是字节,需要进行解码
    import hashlib
    
    msg = hashlib.md5(",".encode("utf-8"))   #创建md5对象
    msg.update("你好呀".encode("utf-8"))
    msg = msg.hexdigest()         
    print(msg)
    结果:caaac0ad1f544161e200772008ccd6ba
    • SHA1

    结果40位字节码,更安全,但是加密时间长,运行慢,效率低

    import hashlib
    
    msg = hashlib.sha1(",".encode("utf-8"))  #创建一个sha1对象
    msg.update("你好呀".encode("utf-8"))
    msg = msg.hexdigest()
    print(msg)
    结果:bd9d06b40de7aae7bb66eb2db356805941e882de

    加盐方式与MD5加盐方式相同   

    SHA256    结果64位

    SHA512    结果128位

    越长越安全

  • 相关阅读:
    burpsuite抓包-手机端配置
    一个登录页面的测试用例(借鉴他人的,方便查阅)
    ant+jmeter环境搭建
    ant+jmeter(build.xml)亲自试用
    linux监控工具vmstat命令详解(转)
    httpRunner使用小结
    接口自动化测试框架开发总结
    Linux上如何设置nginx开机启动
    如何在Linux Centos上部署配置FastDFS
    Redis的Jedis操作(五)
  • 原文地址:https://www.cnblogs.com/wangxiaoshou/p/10285333.html
Copyright © 2011-2022 走看看