1. 程式人生 > >Python全棧之路----hash函式

Python全棧之路----hash函式

hash函式:

      一般翻譯為“雜湊”或“雜湊”,就是把任意長度的輸入,通過雜湊演算法,變換成固定長度的輸出,該輸出就是雜湊值。這種轉換是一種壓縮對映,也就是,雜湊值的空間通常遠小於輸入的空間,不同的輸入可能會雜湊成相同的輸出,所以不可能從雜湊值唯一來唯一的確定輸入值(這也是應用hash函式時需要注意避免的)。簡單來說,就是將任意長度的訊息壓縮到某一固定長度的訊息摘要的函式。

    1.特徵:被hash的值不變,對應hash的值一定是不變的。(hash的值的計算過程是依據這個值的一些特徵計算的,這就要求hash的值必須固定,因此被hash的值是不可變的。)

        不可變:數字,字串,元組;可變:列表。

>>> hash('alex')
-7043802833819298431
>>> hash('alex')
-7043802833819298431
>>> hash('alexx')
4559968772027997698

    2.用途:檔案簽名(加一個檔案簽名,確認檔案沒有被篡改),md5加密(例如,你輸入的密碼通過md5加密後放入資料庫,因為md5不能反解,所以工程師是不可能知道你的密碼的),密碼驗證。