SHA512 雜湊值產生器會產生固定的 512 位元 SHA-2 摘要:64 位元組,以恰好 128 個小寫十六進位字元或標準填補 Base64 表示。
Sha512 雜湊值產生器會對 UTF-8 文字或本機檔案的位元組套用完整的 SHA-512 演算法。計算作業在瀏覽器中進行,因此所選訊息或檔案不會上傳至應用程式伺服器。

完整 SHA-512 摘要包含哪些內容
SHA-512 是 NIST FIPS 180-4 所指定的 SHA-2 系列中完整的 512 位元成員。它使用 64 位元字元處理 1024 位元組的訊息區塊,然後將最終 8 個 64 位元狀態值結合成完整摘要。
可見的 Hex 長度直接取決於摘要位元組數:
64 個摘要位元組 × 每個位元組 2 個十六進位字元 = 128 個十六進位字元
因此,128 個字元的 Hex 結果是預期的完整 SHA-512 表示,而非意外重複或格式錯誤。Base64 則以更精簡的文字形式表示相同的 64 個摘要位元組。
| 表示方式或建構方式 | 定義的輸出 | 使用時機 |
|---|---|---|
| Hex 格式的完整 SHA-512 | 恰好 128 個小寫十六進位字元 | 接收系統明確要求以 Hex 格式提供完整 SHA-512 |
| Base64 格式的完整 SHA-512 | 相同 64 個摘要位元組的標準填補 Base64 編碼 | 接收系統明確要求以 Base64 格式提供完整 SHA-512 |
| SHA-512/256 | 採用不同初始化值的獨立 256 位元建構方式 | 通訊協定明確指定 SHA-512/256 |
| SHA-384 | 獨立的 384 位元 SHA-2 建構方式 | 通訊協定明確指定 SHA-384 |
| HMAC-SHA-512 | 含金鑰的結果,而非原始 SHA-512 摘要 | 驗證需要共用密鑰 |
SHA-512/256 並不是隨意替完整 SHA-512 結果加上標籤或將其截斷而產生。它使用不同的初始化值及較短的輸出。如果通訊協定需要較短的 SHA-2 變體,請使用該確切變體的實作,而不要手動縮短本工具的輸出。
此產生器也包含 8 個標準測試案例,涵蓋空序列、abc、FIPS 多區塊訊息、標點符號變更、UTF-8、任意二進位元組及常見文字。預期值會與 NIST 或 RFC 來源核對,並使用 OpenSSL 獨立重現;標準 abc 摘要的精確 Base64 編碼另有專屬斷言。
選擇符合位元組的輸入
在文字模式下,輸入的字串會先轉換為 UTF-8 再進行雜湊,介面會顯示產生的位元組數。開頭空格、結尾空格、定位元、空行及最後的換行全都是有意義的位元組。該欄位不是輸入內容的視覺近似值;它會直接依您提供的文字進行轉換。
在檔案模式下,工具會對本機檔案的原始位元組進行雜湊。它不會解譯或變更檔名、字元集或 MIME 類型,也不會將二進位檔案解碼為文字。此區隔可避免常見的不相符情況:將檔案解碼再重新編碼,可能會在位元組送入雜湊函式前就改變其內容。
| 輸入方式 | 實際進行雜湊的位元組 | 主要保留規則 |
|---|---|---|
| 文字 | 輸入字串的 UTF-8 編碼 | 保留空白字元、行尾、Unicode 序列及任何位元組順序標記 |
| 檔案 | 檔案原本的原始位元組 | 不要先解碼、標準化、重新編碼或以其他方式轉換該成品 |
空白文字是有效的 SHA-512 訊息,具有標準摘要值。請明確產生其摘要,不要將空白欄位解讀為未進行計算。
產生並驗證摘要
-
選擇正確的輸入模式及確切來源。若為文字,請輸入或貼上確切字串,包括刻意加入的空白字元及任何最終換行。若為檔案,請選擇需要檢查位元組的本機成品。
-
產生完整的 SHA-512 值。此作業會接收確切的 UTF-8 或檔案位元組,並保留全部 64 個摘要位元組。文字模式會顯示 UTF-8 位元組數,而兩種模式都會以 128 個字元的小寫 Hex 及標準填補 Base64 提供完整摘要。
-
複製接收端所需的表示形式。依接收規格選擇 Hex 或 Base64,然後使用對應的複製控制項。複製作業只會提供摘要表示形式,不會將所選檔案的位元組放到剪貼簿中。
-
將每個字元與可信的 SHA-512 參考值比對。確認參考值描述的是原始、完整的 SHA-512,並使用相同的輸出表示形式。另請驗證接收端並未要求 SHA-512/256、SHA-384、HMAC-SHA-512 或數位簽章。
檔案讀取與摘要作業會使用非同步作業識別。如果在舊作業執行期間變更輸入模式或來源,過時的輸出便不會覆蓋較新的狀態。
為何兩個 SHA-512 結果可能不同
不相符通常源自輸入位元組變更或採用不同的摘要建構方式。將結果視為實作失敗前,請先檢查以下原因:
- 空白字元:即使文字在畫面上看起來幾乎相同,結尾空格、定位元、空行或最終換行都會改變訊息。
- 行尾:使用歸位鍵換行加換行符號的系統,與只使用換行符號的系統,會雜湊不同的位元組序列。
- Unicode 處理:將字元正規化,或新增、移除位元組順序標記,都可能改變 UTF-8 位元組。兩個外觀相似的字串不一定具有相同的位元組序列。
- 文字與檔案:文字模式會從欄位建立 UTF-8 位元組,檔案模式則使用成品既有的位元組。請選擇符合原始來源的方式。
- 輸出表示形式:Hex 與 Base64 是摘要的兩種編碼,而非兩個可互換的字串。標準填補 Base64 也不同於移除填補字元後的表示形式。
- 雜湊建構方式:即使處理相同的外顯訊息,原始 SHA-512、SHA-512/256、SHA-384、HMAC-SHA-512 與簽章仍是不同的產物。
只變更檔名或 MIME 標籤不會改變檔案摘要,因為檔案模式雜湊的是位元組,而非中繼資料。變更檔案內容則會改變摘要。請將預期值與要檢查的成品分開存放,並透過可信或經過驗證的路徑取得預期值;更長的摘要無法修正不可信的參考值。
符合所需的輸出表示形式
當規格指定十六進位摘要,或系統要求單純的十六進位字元序列時,Hex 會很方便。產生器的小寫 Hex 形式,每個摘要位元組恰好包含 2 個字元。請複製完整字串,不要為求方便而縮短。
當接收端要求以更精簡的形式表示相同的 64 個摘要位元組時,Base64 很有用。工具傳回的是標準填補 Base64,而不是第二種不同的雜湊值。請複製通訊協定要求的表示形式;不要僅因 Hex 較熟悉就取而代之。
儲存或傳輸此值時,請使用準確的標籤,例如 完整 SHA-512。此標籤能避免日後的讀者將它與 SHA-512/256、截斷值、HMAC 或簽章混淆。
SHA-512 能證明什麼,以及不能證明什麼
當通訊協定指定原始 SHA-512,且有可信的預期摘要可用時,原始 SHA-512 適合用於完整性工作流程。它也能支援與大型公開識別碼進行比對,或重現以完整 512 位元 SHA-2 成員為基礎的系統所產生的值。摘要是確定性的,但輸入的每個位元組都會影響結果。
SHA-512 不是加密,沒有解密金鑰,也無法使用密碼反向還原。原始雜湊值也無法證明訊息由誰提供。HMAC-SHA-512 為驗證加入共用密鑰,而公鑰簽章則提供不同的來源驗證模型。請選擇系統要求的建構方式,不要將較長的原始摘要視為真實性的通用證明。
原始 SHA-512 也不適合用於儲存密碼。通用雜湊刻意設計得很快,這有助於攻擊者離線測試大量密碼猜測。密碼資料庫需要唯一的鹽值,以及 Argon2id、scrypt 或 bcrypt 等專用函式,並設定適當的工作參數。此產生器不會加入鹽值、延伸運算、帳戶情境資訊或密鑰加 pepper。
大型檔案與瀏覽器限制
瀏覽器介面可接受最高 100 MB 的輸入,因為其摘要作業會接收一個完整緩衝區。這是刻意的介面限制,用於維護分頁 responsiveness 與記憶體用量,而非 SHA-512 演算法的理論限制。
若要處理數 GB 的影像或其他超大型成品,請使用信譽良好的串流式命令列實作。SHA-512 能處理的訊息大小遠超此瀏覽器工具可接受的範圍,而串流工作流程可避免將整個成品載入記憶體。將該結果與本機介面比較時,請等待本機作業完成,再比較完整輸出。
最終逐位元組驗證清單
- 只有當來源是應編碼為 UTF-8 的字串時,才選擇文字。
- 當所需的輸入是原始檔案位元組時,請選擇檔案。
- 保留刻意加入的空格、定位元、換行、Unicode 序列及位元組順序標記。
- 明確執行產生作業,包括空白文字訊息。
- 選擇接收端所需的 Hex 或填補 Base64 表示形式。
- 確認預期的建構方式是原始、完整的 SHA-512,而不是較短的變體、HMAC 或簽章。
- 透過可靠路徑取得的可信參考值,逐一比對每個字元。
只有在了解輸入位元組與建構方式的情況下,結果才能作為摘要使用。清楚區分這些差異,可讓產生的 SHA-512 值在瀏覽器工具、可信的參考實作及最終接收該值的系統之間重現。
如需深入了解,請參閱 UTF8 解碼說明:位元組如何變成 Unicode。