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

    1、什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法),该算法接受传入的内容,经过运算得到一串hash值
    2、hash值的特点是:
     2.1 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验
     2.2 不能由hash值返解成内容=======》把密码做成hash值,不应该在网络传输明文密码
     2.3 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的

    hashlib模块

    import hashlib
    # 基本使用
    cipher = hashlib.md5('需要加密的数据的二进制形式'.encode('utf-8'))
    print(cipher.hexdigest()) # 加密结果码

    # 加盐
    cipher = hashlib.md5()
    cipher.update('前盐'.encode('utf-8'))
    cipher.update('需要加密的数据'.encode('utf-8'))
    cipher.update('后盐'.encode('utf-8'))
    print(cipher.hexdigest()) # 加密结果码

    # 其他算法
    cipher = hashlib.sha3_256(b'')
    print(cipher.hexdigest())
    cipher = hashlib.sha3_512(b'')
    print(cipher.hexdigest())

    hmac模块

    # 必须加盐
    cipher = hmac.new('盐'.encode('utf-8'))
    cipher.update('数据'.encode('utf-8'))
    print(cipher.hexdigest())

  • 相关阅读:
    contextMenu,右键菜单
    hashchange
    web攻击日志分析之新手指南
    工匠人生
    数学有卵用之通信篇
    精英主义(一)
    flaskbb部署笔记
    深入分析一波,你们说的云安全到底是什么鬼?
    Gh0st与云安全
    困境与突破
  • 原文地址:https://www.cnblogs.com/zhangdajin/p/11144536.html
Copyright © 2011-2022 走看看