SHA(Secure Hash Algorithm,安全散列算法)是由美國國家安全局(NSA)設計,並由美國國家標準與技術研究院(NIST)發佈的一系列密碼散列函數。它能將任意長度的數據映射爲固定長度的“數字指紋”。
本工具集成了 SHA 全家族算法,您可以根據不同場景選擇合適的強度:
| 算法名稱 | 輸出長度 (位/Hex) | 安全級別 | 建議應用場景 |
|---|---|---|---|
| SHA-1 | 160位 / 40字符 | 較低 | 舊版軟件兼容、Git 版本校驗、非安全哈希 |
| SHA-224 | 224位 / 56字符 | 高 | SHA-2 系列的簡化版 |
| SHA-256 | 256位 / 64字符 | 極高 (主流) | 區塊鏈、數字證書、API 簽名、密碼哈希 |
| SHA-384 | 384位 / 96字符 | 極高 | 高安全性環境、數據完整性嚴格校驗 |
| SHA-512 | 512位 / 128字符 | 最高 | 金融級數據、超大文件完整性指紋 |
雖然兩者都用於生成數據摘要,但存在顯著差異:
Q:SHA 加密後的結果可以解密還原嗎?
A:不可以。 SHA 屬於單向散列函數,它不是加密(Encryption),而是哈希(Hashing)。其設計目標就是無法通過結果推導出原始明文。
Q:爲什麼兩個完全相同的文件,生成的 SHA-256 值不一樣?
A: 哈希值對數據極其敏感。請檢查文件的換行符(CRLF vs LF)、**編碼格式(UTF-8 vs GBK)**或是文件中是否存在肉眼不可見的隱藏字符。
Q:SHA-256 是絕對安全的嗎?
A: 在目前的數學理論和算力下,SHA-256 被認爲是極其安全的。雖然理論上存在碰撞可能,但概率低到可以忽略不計。不過,爲了防禦“彩虹表”查詢,存儲密碼時仍建議進行“加鹽(Salt)”處理。
SHA入門教程: SHA 基礎知識:SHA-1/2 /3 全面講解