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

    1.摘要算法hashlib

    1. md5加密

    #1. 摘要算法
    
    #md5加密算法  32位
    import  hashlib
    username ="alex"
    md5_obj =hashlib.md5()
    # md5_obj =hashlib.md5("加盐".encode("utf-8"))  #加盐操作.
    # md5_obj =hashlib.md5(username.encode("utf-8"))  #加盐操作.
    md5_obj.update(b"alex") #使用md5摘要算法对 alex进行摘要 必须是bytes类型进行摘要.
    res =md5_obj.hexdigest()  #获取摘要的结果.
    print(res)
    #结果:534b44a19bf18d20b71ecc4eb77c572f
    
    
    #sha1加密算法 40位
    import  hashlib
    md5_obj =hashlib.sha1()
    md5_obj.update(b"alex") #使用md5摘要算法对 alex进行摘要 必须是bytes类型进行摘要.
    res =md5_obj.hexdigest()  #获取摘要的结果.
    print(res)
    #结果 60c6d277a8bd81de7fdde19201bf9c58a3df08f4

    2.文件校验操作

    #2. 文件校验操作
    
    with open("mengbin","rb") as f :
        md5_obj =hashlib.md5()
        md5_obj.update(f.read())
        res =md5_obj.hexdigest()
        print(res)
        #摘要结果为:c7d6ca99c0c7a9e5beb0431b98e5ff11
    
    
    with open("mengbin","rb") as f :
        md5_obj =hashlib.md5()
        for line in f:
            md5_obj.update(line)
        res =md5_obj.hexdigest()
        print(res)
        #摘要结果为:c7d6ca99c0c7a9e5beb0431b98e5ff11
    
    #结论:update操作可以在hexdigest之前执行多次,分次对一个长字符串进行校验 ,结果是对整个长字符串的摘要结果.

    2.logging模块

    #4. logging 模块
    import logging
    
    logging.basicConfig(level=logging.DEBUG) #设置等级 . 默认是warning往上的信息.
    
    # DEBUG:root:debug message
    # INFO:root:info message
    # WARNING:root:warning message
    # ERROR:root:error message
    # CRITICAL:root:critical message
    
    
    #调试
    logging.debug("debug message")
    
    #信息
    logging.info("info message")
    
    #警告
    logging.warning("warning message")
    
    #错误
    logging.error("error message")
    
    #严重错误
    logging.critical("critical message")

    3.logging案例

    import logging
    
    logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                        datefmt='%a, %d %b %Y %H:%M:%S',
                        filename='test.log',
                        filemode='a')
    
    logging.debug('debug message')
    logging.info('info message')
    logging.warning('warning message')
    logging.error('error message')
    logging.critical('critical message')

  • 相关阅读:
    JavaScript数组方法
    模拟js数组indexOf方法
    js数组排序
    发布Exchange的SMTP,POP3服务器:ISA2006系列之十八
    用智能卡构建身份验证的马其诺防线:ISA2006系列之二十三
    Java与CSharp的相同与不同
    创建可传递的林信任,Active Directory系列之二十
    组策略指派Office2003分发,Active Directory系列之二十三
    发布Exchange的RPC以及RPC Over HTTPS:ISA2006系列之十九
    初步理解组策略,Active Directory系列之二十一
  • 原文地址:https://www.cnblogs.com/mengbin0546/p/10328171.html
Copyright © 2011-2022 走看看