工具用的順手嗎?
你的回饋能幫助我們做得更好
計算 FNV-1 與 FNV-1a 的 32 位元或 64 位元雜湊值,適合雜湊表、快取鍵與相容性測試。
概覽
了解工具能解決的問題、計算或處理邏輯,以及資料邊界。
這個計算器接受一段文字,讓你選擇 FNV-1 或 FNV-1a,以及 32 位元或 64 位元,輸出對應的雜湊摘要。它適合開發時比對既有程式所產生的短摘要,或確認選用的變體是否一致;輸出不是原文,也不能解密還原。
雜湊會把輸入資料依固定演算法映射成定長結果。FNV 按位元組逐步更新狀態:FNV-1 每個位元組先乘以該位寬的 FNV 質數,再進行 XOR;FNV-1a 則先 XOR 位元組,再相乘。32 與 64 位元版本採用不同的初始值、質數和結果寬度,因此切換任一選項都會改變摘要。
兩端必須使用相同變體、位元寬度及完全相同的輸入文字,結果才適合直接比較。RFC 9923 定義的是對位元組序列的處理;實際程式如何把文字轉成位元組也會影響結果。中文、換行、前後空白,或看起來相同但 Unicode 編碼序列不同的字元,都可能造成差異。若對接系統未說明字元編碼或文字正規化方式,應先查清楚其規格,不能只憑畫面上的字相同就判定輸入一致。
指南
依步驟完成操作,並透過範例核對輸入與結果。
貼上與目標程式完全相同的內容。保留必要的空格、標點和換行;若目標輸入來自檔案位元組或經過序列化,請先取得對方實際採用的文字表示。本頁以文字計算,不提供檔案或多筆批次輸入。
依對接規格挑選 FNV-1 或 FNV-1a,再選 32 或 64 位元。若規格只寫「FNV」,資訊不足以判斷變體,請先詢問或檢查來源程式。
按下計算後,核對結果的小寫或大寫十六進位欄位並複製需要的表示。記錄結果時一併註明變體、位寬與輸入編碼約定,避免日後把不同規格的值混在一起。
情境
查看這項工具在不同工作與生活流程中的用法。
開發者可用同一段測試文字選定 FNV 變體與位寬,再和程式結果逐字比對。若不一致,依序確認輸入文字的空白與換行、字元轉位元組方式、變體和位寬;不要立刻推斷雜湊函式本身錯誤。
測試人員可為非安全用途的短文字產生 FNV 值,檢查程式流程或資料結構是否採用預期的變體。測試紀錄應保留原始輸入或測試案例編號,摘要本身不足以代表唯一資料。
問答
集中解答常見疑問與容易混淆的問題。
若是在比對現有系統,選它明確指定的版本;兩者處理每個位元組的運算順序不同,不能互換。若尚未有相容性要求,先依你的程式或協定規格決定,再固定使用。
除了變體和位寬不同,送入演算法的位元組也可能不同。檢查文字編碼、換行格式、前後空白及 Unicode 正規化;確認比較的是完全相同的輸入表示後再重算。
不可以直接比較。兩種位寬是不同的 FNV 演算法設定,摘要長度和計算參數也不同;對接雙方必須選擇相同位寬。
不應如此假設。此頁回傳結果中的 Base64 欄位可能是對十六進位摘要文字再編碼,並非原始摘要位元組的 Base64 表示。需要交換 Base64 摘要時,請用對接程式按其規格轉換原始摘要位元組。
須知
使用前了解適用範圍、結果限制與必要提醒。
FNV 是非密碼學雜湊,沒有用來保護輸入機密性的密鑰,也不適合用來證明資料未遭竄改。不同輸入可能得到相同的有限長度摘要;32 位元和 64 位元結果都不能當成唯一識別碼或可信任的驗證憑證。請勿用於密碼儲存、登入驗證、數位簽章、訊息認證或安全敏感的完整性檢查。若輸入含有機密內容,也請避免送入線上計算服務;本功能需送出文字進行計算,勿貼入密碼、金鑰或個人敏感資料。
推薦
查找相關工具、專題與可用的 API 能力。