SHA-256 雜湊值是由精確的輸入位元組所計算出的固定 256 位元摘要,在 Windows 上 SHA256 雜湊產生器可以在目前的瀏覽器分頁中計算,並以 64 個小寫十六進位字元或標準填補的 Base64 形式回傳結果。若要在 Windows 中產生 SHA256 雜湊值,請開啟產生器、選擇文字或檔案輸入、輸入或選取精確的位元組、產生摘要,並複製您的參考系統所預期的表示形式。文字模式在雜湊前會將字串編碼為 UTF-8,因此空格、變音符號、表情符號、歸位字元以及結尾的換行都是輸入的一部分,而非顯示上的細節。檔案模式則會雜湊每一個選取的位元組,包括檔頭、中繼資料以及行尾字元,這使其成為直接比對下載檔案與廠商所發佈校驗碼的方式。計算過程都在目前的瀏覽器分頁中執行,應用程式並不會上傳所選取的內容。請透過 HTTPS、已簽署的版本或其他經驗證的管道,將完整的結果與可信任的參考值進行比對。相符僅代表位元組層級的完整性一致,並無法識別建立者。請使用 HMAC-SHA-256 處理共用密鑰,或使用數位簽章進行公開金鑰來源驗證。

how to generate sha256 hash in windows
如何在 Windows 中產生 SHA256 雜湊值

Windows SHA-256 結果所包含的內容

結果是一個標準的 32 位元組 SHA-256 摘要。此工具會以兩種等價的表示形式來呈現這些位元組:64 個小寫十六進位字元,以及標準填補的 Base64。摘要並非輸入的加密副本,也不是一把金鑰。它是一個由您所提交的訊息或檔案位元組所決定的固定大小數值。

SHA-256 屬於由 NIST FIPS 180-4 所規範的 SHA-2 家族。此頁面會將精確的運算委派給平台瀏覽器的密碼學實作來執行。在內部,演算法會對訊息進行填補、將其分割成 512 位元的區塊、將每個區塊展開為 64 字的排程,並更新八個 32 位元的工作數值;最後這八個字會組成 256 位元的摘要。這些細節都由工具為您處理,而來源內容與所選的表示形式仍會影響結果。

選擇正確的輸入模式與輸出格式,可以避免拿有效的雜湊值與錯誤的對象進行比對。在決定要提交什麼內容時,請使用以下區別。

輸入模式被雜湊的內容對位元組敏感的細節典型的 Windows 工作
文字精確的 UTF-8 文字空格、變音符號、表情符號、字集、歸位字元、結尾換行,以及顯示的位元組數將逐字字串與文字參考值進行比對
檔案每一個選取的檔案位元組,最多 100 MB檔頭、嵌入式中繼資料以及行尾字元;不進行文字解碼檢查下載的檔案或精確的成品

在 Windows 中產生 SHA256 雜湊值

  1. 開啟產生器。從您的 Windows 電腦,在目前的瀏覽器分頁中前往 SHA256 雜湊產生器。計算會在本地端執行,應用程式並不會上傳所選取的內容。
  2. 選擇輸入類型。在文字模式下,貼上要驗證的精確內容。在檔案模式下,選擇位元組需要被雜湊的本地檔案。檔案輸入的上限為 100 MB,因此請使用在此限制範圍內的選定檔案。
  3. 檢查位元組情境。文字會以 UTF-8 編碼,顯示的位元組數也是結果情境的一部分。請保留大小寫、變音符號、表情符號、空格、歸位字元以及任何結尾的換行。在檔案模式下,請勿對成品進行解碼再重新編碼:檔頭、嵌入式中繼資料以及行尾位元組都是被雜湊輸入的一部分。
  4. 產生 SHA-256 摘要。此工具會將所選的 UTF-8 文字或檔案位元組傳遞給瀏覽器的密碼學運算。請等候與目前選取項目相關聯的結果。非同步作業識別可防止較舊的檔案讀取或雜湊值取代較新的選取項目。
  5. 複製所需的表示形式。輸出會以 64 個小寫十六進位字元以及標準填補的 Base64 形式顯示。兩者代表相同的 32 個位元組。請使用另一個系統所預期的表示形式,並複製完整的數值而非前綴。
  6. 比對並記錄結果。將完整的摘要與經驗證的參考值進行比對,並在數值旁記錄 SHA-256。若數值不相符,請檢查雙方是否使用了相同的位元組,包括相同的文字編碼、行尾字元,以及完全相同的檔案而非檔名相似的檔案。

文字與檔案位元組必須保持區隔

文字模式並不會雜湊一串抽象的可見字元。它會先將字串編碼為 UTF-8。帶有變音符號的字母、表情符號以及 ASCII 以外的字集可能會使用多個位元組,因此外觀相似的文字在來源位元組不同時可能會產生不同的結果。一個看起來與另一個等價的貼上字元,不一定代表相同的位元組序列。

跨工具比對文字時,Unicode 正規化也可能會造成影響。請保留來源的逐字內容,不要靜默地去除開頭或結尾的空格,也不要移除結尾的換行。空文字是有效的:空位元組字串的標準摘要以 e3b0c442 開頭。若命令列工具給出不同的值,請檢查 shell 是否附加了換行,或是該工具收到的是文字而非檔案位元組。

檔案模式會跳過文字解碼,並雜湊每一個選取的位元組,包括檔頭、中繼資料以及行尾字元。這使其成為下載套件或其他逐位元組成品的合適模式。請比對相同的選定檔案,而不是轉換後的副本、擷取出的部分,或檔名不同的檔案。當目標是重現已知的檔案摘要時,不應混用文字模式與檔案模式。

依目的地選擇 Hex 或 Base64

Hex 與 Base64 並非兩種不同的 SHA-256 演算法。它們是同一組 32 個結果位元組的兩種呈現方式,選擇哪一種取決於將讀取該值的系統。小寫是此工具一般的 Hex 呈現方式;改變字母大小寫只會改變呈現方式,並不會改變底層的摘要位元組。Base64 則使用標準填補的形式。

表示形式輸出最適合的情境驗證細節
小寫 Hex64 個十六進位字元人工校驗碼清單以及要求 SHA-256 Hex 的系統複製每個字元;字母大小寫不會改變摘要位元組
標準 Base64同一 32 位元組的填補 Base64 文字預期使用 Base64 的建置與部署工作流程僅在目的地規格要求 Base64 時使用

當要求使用 Hex 時,請複製全部 64 個 Hex 字元。此雜湊並非可逆的編碼,因此目的地無法從任何一種表示形式重建來源。請在儲存任何摘要時一併記錄演算法名稱,以免 64 字元的數值日後被誤認為其他格式或未記載的校驗碼。

將完整摘要與真實的參考值進行比對

對於下載項目,請透過 HTTPS、已簽署的版本或其他適合該風險等級的經驗證管道,從擁有者取得預期的 SHA-256 摘要。選取精確的下載檔案,產生其摘要,並比對整個輸出。相符代表這兩個逐位元組的成品一致;這本身並不能證明檔案是安全的,也無法證明其建立者為真實。不相符可能是因為選錯檔案、下載不完整、編碼不同或行尾字元不同。

  • 下載驗證:使用由軟體或檔案擁有者所發佈的參考值,然後將產生的完整數值與該參考值進行比對。
  • 建置與部署:對工作流程所要求的精確成品進行雜湊,並複製接收系統所預期的 Hex 或 Base64 表示形式。
  • 成品比對:僅在要判斷兩個檔案的位元組是否相同時,才為其產生摘要;請勿將結果視為反向查詢。

參考值的真實性與計算本身同樣重要。若攻擊者能同時替換檔案以及顯示在其旁的校驗碼,重新計算 SHA-256 只能確認攻擊者的這一組配對。它無法揭露這一組配對已被替換。當兩個系統共用密鑰且需要訊息驗證時,請使用 HMAC-SHA-256;當驗證者必須使用公開金鑰確認來源時,請使用數位簽章。SHA-256 回答的是關於位元組的完整性問題;它無法回答關於其建立者的身分問題。

了解限制與安全邊界

檔案上限為 100 MB,因為此處所使用的 Web Cryptography 摘要介面接收的是完整的位元組緩衝區,而不是串流。對於更大的檔案,請在本地機器上使用可信賴的串流工具,而不是耗盡瀏覽器的記憶體。此限制適用於選定的檔案,並不意味著部分檔案就能產生完整的校驗碼。

所有計算都在目前的瀏覽器分頁中執行,應用程式不會上傳所選取的內容。顯示的位元組數為文字提供了有用的情境,而檔案模式則包含每一個選取的位元組。此頁面刻意只執行原始的標準摘要;它並不會加入加密、HMAC 計算、數位簽章或密碼雜湊行為。

SHA-256 是單向雜湊,不是加密。它沒有金鑰,也沒有支援的反向運算。它同樣無法驗證輸入的建立者身分。當雙方擁有共用密鑰時,請使用 HMAC-SHA-256;當需要公開金鑰驗證時,請使用數位簽章。對於一般的完整性檢查,完整的摘要與真實的參考值才是重點。

請勿直接對密碼套用 SHA-256 來儲存。它的速度對完整性檢查很有用,但同樣也幫助攻擊者測試密碼猜測。帳號系統應使用唯一的鹽值,以及具有校準過的記憶體與時間成本的專用密碼雜湊函式。此產生器是為產生原始 SHA-256 結果而設計,並非用於設計密碼儲存機制。

此頁面的驗證套件包含 NIST 與 RFC 的範例,以及經獨立交叉核對的文字、標點符號、UTF-8 與二進位案例。它會斷言精確的摘要、固定 32 位元組的大小,以及標準的 Base64 編碼。這些檢查能區分演算法的正確性與自洽的來回運算,因為雜湊沒有反函數。它們提升對結果的信心,但無法取代經驗證的參考值。

若想深入了解,請參閱 如何計算 SHA-512 雜湊值並驗證每個字元

若想深入了解,請參閱 使用您的密鑰產生 HMAC-SHA256 標籤