#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. 文件校驗操做 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以前執行屢次,分次對一個長字符串進行校驗 ,結果是對整個長字符串的摘要結果.
#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")
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')