zoukankan      html  css  js  c++  java
  • hashlib 库

    hashlib 库

      hash 是一种算法,用来接收一系列数据,经过计算后得到一个hash值

      hash值的三大特征:

        1. 如果传入的数据一样,得到的hash值一样

        2. 只要采用的hash算法固定,无论传多少内容hash值的长度是固定的

        3. hash值不可逆,不能通过hash值倒推出内容

      hash用途:

        特征一和特征二: 效验文件是否完整,比较hash值是否一样

        特征三:用于加密, 将密码===> hash值(hash值不可逆) (可以将密码按百分比拆开,加盐然后算hash值)

    import hashlib
    m=hashlib.md5() # 括号内也可以传内容
    m.update('str1',encode('utf-8')) # 必须是bytes类型
    m.update('str2',encode('utf-8')) # 内容可以分开放进去
    print(m.hexdigest())

    将文件加密:
    import hashlib
    with open('r.txt','rb')
      m=hashlib.md5()
      for line in f:
        m.update(line)
       print(m.hexdigest())
    补充: 逐行打开文件,速度太慢,一般都选择抽样进行效验

     

  • 相关阅读:
    BZOJ1954 Pku3764 The xor-longest Path
    BZOJ3697 采药人的路径
    BZOJ1468 Tree
    BZOJ2326 [HNOI2011]数学作业
    BZOJ2809 [Apio2012]dispatching
    BZOJ1334 [Baltic2008]Elect
    BZOJ2882 工艺
    BZOJ3791 作业
    BZOJ1224 [HNOI2002]彩票
    [noip2013]花匠
  • 原文地址:https://www.cnblogs.com/Afrafre/p/10077779.html
Copyright © 2011-2022 走看看