Miklix

SHA-1 雜湊碼計算器

已發佈: 2025年2月16日 晚上11:24:19 [UTC]

雜湊碼計算器使用安全雜湊演算法 1 (SHA-1) 雜湊函數根據文字輸入或檔案上傳計算雜湊碼。

該頁面是由英語機器翻譯而來的,以便盡可能多的人可以訪問。不幸的是,機器翻譯還不是一項完善的技術,因此可能會出現錯誤。如果您願意,可以在這裡查看原始英文版本:

SHA-1 Hash Code Calculator

SHA-1(安全雜湊演算法 1)是由 NSA 設計並由 NIST 於 1995 年發布的加密雜湊函數。 SHA-1 曾廣泛用於確保資料完整性、數位簽章和證書,但現在由於容易受到碰撞攻擊而被認為是不安全的。它包含在這裡是為了以防需要計算必須與舊系統相容的雜湊碼,但在設計新系統時不應使用它。

完全披露:我沒有寫此頁面上使用的哈希函數的具體實現。它是 PHP 程式語言中包含的標準函數。為了方便起見,我僅製作了 Web 介面以便在此公開發布。


計算新的哈希碼

透過此表單提交的資料或上傳的檔案將僅在產生所要求的雜湊碼所需的時間內保留在伺服器上。它將在結果返回您的瀏覽器之前立即被刪除。

輸入資料:



提交的文本是UTF-8編碼的。由於雜湊函數對二進位資料進行操作,因此結果將與文字採用其他編碼時的結果不同。如果您需要計算特定編碼的文字的雜湊值,則應該上傳檔案。



關於 SHA-1 雜湊演算法

我不是數學家,所以我將嘗試以其他非數學家能夠理解的方式來解釋此哈希函數 - 如果您想要精確的科學數學版本的解釋,您可以在許多其他網站上找到它;-)

可以將 SHA-1 想像成一個特殊的碎紙機,它可以接收任何訊息 - 無論是一個單字、一個句子還是整本書 - 然後以一種非常特殊的方式將其粉碎。但它並不只是進行粉碎,而是神奇地生成一個獨特的“粉碎代碼”,該代碼的長度始終恰好為 40 個十六進製字元。

  • 例如,你輸入“你好”
  • 您得到 40 個十六進位數字,例如 f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0

不管你輸入什麼 - 短的或長的 - 輸出的長度總是相同的。

「神奇碎紙機」的工作原理分為四個步驟:

步驟 1:準備紙張(襯墊)

  • 在粉碎之前,您需要準備好紙張。想像在郵件末尾添加空格,以便它能夠完美地放入碎紙機的托盤中。
  • 這就像你烤餅乾時,你要確保麵團均勻地填滿模具。

第二步:切成大小相等的區塊(分割)

  • 粉碎機不喜歡大塊的碎料。因此,它會將您準備好的信息切成更小、大小均等的塊——就像將大蛋糕切成完美的片一樣。

步驟 3:秘密配方(攪拌和搗碎)

  • 現在到了最酷的部分!在碎紙機內部,您的每封郵件都會經過一系列的混合器和滾筒:
    • 混合:它用一些秘密成分(內建規則和數字)攪動您的訊息。
    • 搗碎:以特殊的方式擠壓、翻轉和旋轉各個部件。
    • 扭曲:某些部分被扭曲或反轉,就像將紙折成摺紙一樣。

每一步都會使資訊變得更加混亂,但機器始終會遵循一種非常具體的方式。

步驟 4:最終程式碼(哈希)

  • 經過所有的混合和處理後,就會得到一個整潔的、混亂的程式碼——就像您訊息的獨特指紋一樣。
  • 即使你改變了 原始訊息中只有一個字母,輸出就會完全不同。這就是它的特別之處。

SHA-1 不應再使用的原因是,一些非常聰明的人想出瞭如何欺騙碎紙機,讓其為兩條不同的訊息製作相同的代碼(這稱為碰撞)。

我們現在有了更強大、更聰明的“粉碎機”,而不是 SHA-1。在撰寫本文時,我在大多數情況下預設使用的雜湊演算法是 SHA-256 - 是的,我也有這個演算法的計算器:SHA-256 雜湊碼計算器

分享至 Bluesky在 Facebook 分享在 LinkedIn 分享在 Tumblr 上分享分享至 X在 LinkedIn 分享固定在 Pinterest 上

米克爾·邦·克里斯滕森

關於作者

米克爾·邦·克里斯滕森
麥可 是 miklix.com 的創建者和所有者。他有超過 20 年的專業電腦程式設計師/軟體開發人員經驗,目前全職受僱於一家歐洲大型 IT 公司。不寫部落格時,他會將業餘時間花在各種各樣的興趣、愛好和活動上,這在一定程度上反映在本網站所涵蓋的主題的多樣性上。