雜湊函數可以將任意大小的資料映射到固定大小的值。相同的輸入總是產生相同的輸出。改變其中一位,輸出就會完全改變。此特性使得雜湊函數可用於完整性檢查。下載一個文件,並將其雜湊值與已發布的雜湊值進行比較。如果兩者匹配,則表示文件完整無損。如果不匹配,則說明文件已被竄改。
哈希函數是單向的。你無法從哈希值反推原始資料。這使得它們非常適合用於密碼儲存。系統儲存的是密碼的雜湊值,而不是密碼本身。當你登入時,系統會對你輸入的內容進行雜湊處理,並將其與儲存的雜湊值進行比較。如果資料庫洩露,攻擊者只能獲得雜湊值,而不是密碼。弱密碼仍然可以透過彩虹表或暴力破解等方法破解,這就是加鹽的重要性。鹽值是在對每個密碼進行雜湊處理之前添加的隨機數據,因此相同的密碼會產生不同的雜湊值。 SHA-256 和 SHA-3 是常見的加密雜湊演算法。 MD5 和 SHA-1 已被破解,不應用於安全領域。哈希函數也為區塊鏈、數位簽章和檔案去重等技術提供支援。
哈希函數屬性
- 確定性-相同輸入,相同輸出
- 快速——計算速度快
- 原像抗性-無法逆轉
- 抗碰撞性-很難找到兩個具有相同雜湊值的輸入
哈希值是一種指紋,而非加密。它用於證明資料的完整性,但不會隱藏資料。
Comments
No comments yet. Be the first to share a thought.
Leave a comment