Hash Function

Yan Ru Su

雜湊簡介

把資料輸入一個函式輸出一串亂數,稱為雜湊值(Hash),函式稱為雜湊函式。

不同的輸入產出的亂數都不同。同樣的輸入會得到相同的輸出,而儘管輸入只差一個字輸出就會截然不同,但若不同的輸入產出同樣的輸出則稱為碰撞,但他發生的機率是極低的,另外不論資料的長度輸入同個Hash Function都會得到相同長度的雜湊值。

1
abc -> SHA256(abc) -> ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
1
abd -> SHA256(abd) -> a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9

雜湊不算是加密,沒有金鑰,雜湊是不可逆的,無法透過雜湊值推回輸入資料。

為什麼雜湊是「不可逆」的?

沒有密鑰

單純是一個複雜的數學計算,不涉及密鑰

訊號丟失

輸出是固定長度的,輸入的值過大,固定長度的輸出無法記錄所有輸入的資訊,有些輸入資訊會被丟棄,就無法透過輸出重建輸入