Hashing 是一種將輸入數據(或消息)轉換為固定長度的散列值(Hash Value)的技術。這個過程使用一個稱為散列函數(Hash Function)的算法。Hashing 在計算機科學中有許多重要應用,包括數據查找、數據完整性檢查和密碼學。
主要功能
-
快速數據查找:
- Hashing 用於數據結構,如哈希表(Hash Table),以實現常數時間的查找、插入和刪除操作。
- 每個數據項根據其鍵(Key)經過散列函數計算得到一個哈希值,然後存儲在對應的位置。
-
數據完整性檢查:
- Hashing 用於校驗碼和數字簽名,確保數據在傳輸過程中未被篡改。
- 通過比較原始數據的哈希值和接收到數據的哈希值,可以檢查數據的一致性。
-
密碼學應用:
- Hashing 是許多加密算法和安全協議的基礎,用於生成數據摘要和驗證數據完整性。
- 密碼學散列函數(如 SHA-256)能夠生成具有固定長度且看似隨機的哈希值,難以逆推出原始數據。