zoukankan      html  css  js  c++  java
  • 10.5、hashlib

    摘要算法:通过函数把任意长度的数据转换为一个长度固定的数据串(16进制)

    MD5、SHA1

    摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest,目的是为了发现原始数据是否被人篡改过。

    import hashlib
    md5=hashlib.md5()
    md5.update('how to use md5 in pyhton hashlib'.encode('utf-8'))
    print(md5.hexdigest())

      import hashlib
      md5=hashlib.md5()
      md5.update('how to use md5 '.encode('utf-8'))
      md5.update('in pyhton hashlib'.encode('utf-8'))
      print(md5.hexdigest())

    0ffdcd300cfb86a68d070e9c77c60d3b

    MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,通常用一个32位的16进制字符串表示。

    import hashlib
    sha1=hashlib.sha1()
    sha1.update('abc'.encode('utf-8'))
    sha1.update('def'.encode('utf-8'))
    print(sha1.hexdigest())
    
    1f8ac10f23c5b5bc1167bda84b833e5c057a77d2

    SHA1的结果是160 bit字节,通常用一个40位的16进制字符串表示。

    def login(user, password):
        if user in db.keys():
            md5=hashlib.md5()
            md5.update(password.encode('utf-8'))
            if md5.hexdigest()==db[user]:
                return True
            else:
                return False
        else:
            return False
  • 相关阅读:
    行为型模式之 命令模式
    结构型模式之 代理模式
    oop编程思想
    2013应届毕业生各大IT公司待遇整理汇总篇(转)
    python定义class
    python——博客园首页信息提取与分析(转载有改动)
    深入浅出TCP/IP协议
    python基础之socket
    python基础
    c++stl之stack
  • 原文地址:https://www.cnblogs.com/soberkkk/p/12658645.html
Copyright © 2011-2022 走看看