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

    海燕

    hashlib提供了常见的摘要算法,如md5sha1等等。
    那么什么是摘要算法呢?摘要算法又称为哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
    注意:摘要算法不是一个解密算法。(摘要算法,检测一个字符串是否发生了变化)
    应涂:1.做文件校验
       2.登录密码
          密码不能解密,但可以撞库,用‘加盐’的方法就可以解决撞库的问题。所有以后设置密码的时候要设置的复杂一点。

    1、什么叫hash:hash是一种算法,该算法接受传入的内容,经过运算得到一串hash值
    2、hash值的特点是:
    2.1 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验
    2.2 不能由hash值返解成内容=======》把密码做成hash值,不应该在网络传输明文密码
    2.3 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的

    示例:

    # import hashlib
    #
    # m=hashlib.md5()
    # m.update('hello'.encode('utf-8'))
    # m.update('world'.encode('utf-8'))
    # m.update('egon'.encode('utf-8'))
    # print(m.hexdigest()) #3801fab9b8c8d9fcb481017969843ed5
    
    
    
    import hashlib
    
    m=hashlib.md5()
    m.update('h'.encode('utf-8'))
    m.update('e'.encode('utf-8'))
    m.update('lloworld'.encode('utf-8'))
    m.update('egon'.encode('utf-8'))
    print(m.hexdigest()) #3801fab9b8c8d9fcb481017969843ed5
    
    # 密码加盐
    import hashlib
    pwd='alex3714'
    
    m=hashlib.md5()
    
    m.update(pwd.encode('utf-8'))
    m.update(''.encode('utf-8'))
    m.update('小雨一米五'.encode('utf-8'))
    
    print(m.hexdigest())
    #ae3d07cda315e950e044a6bf4f824ca3

    ############################################################################
    import hashlib m=hashlib.md5() m.update('helloworld'.encode('utf-8')) print(m.hexdigest()) #fc5e038d38a57032085441e7fe7010b0 m=hashlib.sha256() m.update('helloworld'.encode('utf-8')) print(m.hexdigest()) #936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af # # m=hashlib.sha512() m.update('helloworld'.encode('utf-8')) print(m.hexdigest()) #1594244d52f2d8c12b142bb61f47bc2eaf503d6d9ca8480cae9fcf112f66e4967dc5e8fa98285e36db8af1b8ffa8b84cb15e0fbcf836c3deb803c13f37659a60 # import hmac m=hmac.new('天王盖地虎,小鸡炖模块'.encode('utf-8')) m.update('alex3814'.encode('utf-8')) print(m.hexdigest())
  • 相关阅读:
    java selenium (十) 操作浏览器
    java selenium (九) 常见web UI 元素操作 及API使用
    java selenium (六) XPath 定位
    正则表达式
    日志模板
    软件开发规范
    TCP协议的粘包现象和解决方法
    验证用户的合法性
    PythonDay16
    PythonDay15
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/13322586.html
Copyright © 2011-2022 走看看