SHA-1 雜湊計算
在瀏覽器中即時計算輸入字串的 SHA-1 雜湊值。SHA-1 生成 160 位雜湊值,但 2017 年 SHAttered 攻擊已實證碰撞,不建議用於新專案。
已複製!
Tips
- SHA-1 由 NSA 設計,1995 年被 NIST 標準化,輸出 160 位(40 個十六進位制字元)。
- 2017 年,Google 與 CWI 研究所通過"SHAttered"攻擊首次實證 PDF 檔案的 SHA-1 碰撞。
- 主流瀏覽器已於 2017 年起將基於 SHA-1 的 TLS 證書標記為不受信任,Git 也在向 SHA-256 遷移。
- 在
git log中可以看到 SHA-1 提交雜湊,這是 SHA-1 在現實中最常見的形式之一。 - 新系統設計中請使用 SHA-256 或更高級別的演算法。
常見問題
不適合用於安全場景(數字簽名、證書、密碼儲存等)。2017 年 SHAttered 攻擊已實證碰撞,請改用 SHA-256 或更高級別的演算法。
不會。所有雜湊計算均在瀏覽器本地完成,輸入內容不會發送到任何伺服器。
SHA-1 輸出 160 位(40 個十六進位制字元),MD5 輸出 128 位(32 個十六進位制字元)。兩者均存在已知碰撞漏洞,均不適合用於安全目的。
閒話 ― SHAttered:以 9.22 京次計算實證的碰撞攻擊
2017 年,Google 與荷蘭 CWI 研究所合作,歷時約 2 年、動用 9.9 萬個 CPU 核心,成功生成了兩個內容不同但 SHA-1 雜湊完全相同的 PDF 檔案——這就是"SHAttered"攻擊。
此前,SHA-1 碰撞在理論上已被認為可行,但 SHAttered 首次將其付諸實踐,迫使各大主流服務加速廢棄 SHA-1。GitHub、Subversion 等程式碼託管平臺隨即宣佈了遷移計劃。
儘管如此,部分嵌入式裝置和老舊系統仍在使用 SHA-1。完全廢棄仍需時日,但在任何新規設計中使用 SHA-1 均不可接受。