第十章 hashlib模組和hmac模組

2022-05-15 01:24:12 字數 1037 閱讀 8006

目錄hash是一種演算法,接收傳入的內容,經過運算得到的一串hash值

hash的特點:

具有唯一性

安全性,可以用於儲存非明文密碼

無論傳入的什麼內容,返回的hash值長度都是固定的

import hashlib

m=hashlib.md5() #建立了hash物件

print(type(m)) #m.update("hello".encode('utf8'))#必須寫編碼格式否則報錯

print(m.hexdigest()) #得到hash值

#5d41402abc4b2a76b9719d911017c592

m.update("hel".encode('utf8'))

m.update("lo".encode('utf8'))

print(m.hexdigest())

#5d41402abc4b2a76b9719d911017c592

#唯一性

hmac模組內部對我們建立key和內容做過某種處理後再加密。

和hashlib模組類似,hash模組具有加鹽的功能,保證hmac最終結果一致,必須要hmac.new括號內指定的初始key一樣

也具有唯一性

import hmac

h1=hmac.new(b"hash")#建立了hmac物件h1,加鹽(」hash「這個字串)

#注意hmac模組只接受二進位制資料的加密

print(type(h1)) #h1.update(b"hello")

print(h1.hexdigest())

#bea9d9de0f3dc7706393020b00404324

h1.update(b"hel")

h1.update(b"lo")

print(h1.hexdigest())

#bea9d9de0f3dc7706393020b00404324

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...

第十章 屬性

目錄 10.1 無參屬性 10.2 有參屬性 10.3 呼叫屬性訪問器方法時的效能 10.4 屬性訪問器的可訪問性 10.5 泛型屬性訪問器方法 物件導向設計和程式設計的重要原則之一就是資料封裝,意味著型別的字段不應該公開,否則很容易因為不恰單使用欄位而破壞物件的狀態。可將屬性想象成智慧型字段,即背...