zoukankan      html  css  js  c++  java
  • hashlib

    • hashlib

    特点

    1 只要传入的内容一样,得到的hash值必然一样=====>要用明文传输密码文件完整性校验
    2 不能由hash值返解成内容=======》把密码做成hash值,不应该在网络传输明文密码(只能有内容返回hash值)
    3 只要使用的hash算法不变,无论校验的内容有多大,得到的hash值长度是固定的(如从网上下载文件要进行hash校验,保证网络传输没有丢包)
    基于1和3可以做文件下载一致性的校验
    基于1和2可以对用户密码进行加密
    

    MD5的update使用是不能连续的,这样会把多次数据进行拼接,

    import hashlib
    
    print(hashlib.md5('123456'.encode(encoding='GBK')).hexdigest())        e10adc3949ba59abbe56e057f20f883e
    print(hashlib.md5('123456'.encode(encoding='UTF-8')).hexdigest())      e10adc3949ba59abbe56e057f20f883e
    print(hashlib.md5(b'123456').hexdigest())                              e10adc3949ba59abbe56e057f20f883e
    
    md5 = hashlib.md5()
    md5.update(b'123456')
    print(md5.hexdigest())            e10adc3949ba59abbe56e057f20f883e
    md5.update(b'123456')
    print(md5.hexdigest())            ea48576f30be1669971699c09ad05c94
    
  • 相关阅读:
    如何制定一周工作计划
    如何评估工作offer(1)
    Iraq shoethrower inspires Web games
    数据加密技术
    数字签名技术原理
    [转载]CSS使用技巧大全
    数字签名介绍
    数字签名原理剖析
    6个有用的MySQL语句
    PGP概述及原理
  • 原文地址:https://www.cnblogs.com/cizao/p/11484349.html
Copyright © 2011-2022 走看看