Hash Function
雜湊簡介
把資料輸入一個函式輸出一串亂數,稱為雜湊值(Hash),函式稱為雜湊函式。
不同的輸入產出的亂數都不同。同樣的輸入會得到相同的輸出,而儘管輸入只差一個字輸出就會截然不同,但若不同的輸入產出同樣的輸出則稱為碰撞,但他發生的機率是極低的,另外不論資料的長度輸入同個Hash Function都會得到相同長度的雜湊值。
1 | abc -> SHA256(abc) -> ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
1 | abd -> SHA256(abd) -> a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9 |
雜湊不算是加密,沒有金鑰,雜湊是不可逆的,無法透過雜湊值推回輸入資料。
為什麼雜湊是「不可逆」的?
沒有密鑰
單純是一個複雜的數學計算,不涉及密鑰
訊號丟失
輸出是固定長度的,輸入的值過大,固定長度的輸出無法記錄所有輸入的資訊,有些輸入資訊會被丟棄,就無法透過輸出重建輸入