Sha-256
CRC32 擷取錯誤,但是 SHA 的意義何在?
如果 crc 或 CRC32 是專門為擷取錯誤而設計的,那麼 SHA 或 md4-5 或任何其他散列函式有什麼意義?我所做的是,我有一個 190 mb 的 png 文件(使用攪拌機 lol 以 16k 解析度渲染),我獲取了它的 sha256 和 CRC32 雜湊,然後我做了同樣的事情,只改變了圖像的 1 位。就1位。我得到了不同的 crc,但也有不同的 sha256
190 mb ~ 1 520 000 000 位,
那麼,如果他們都檢測到如此小的錯誤,那又有什麼意義呢?
那麼,如果他們都檢測到如此小的錯誤,那又有什麼意義呢?
CRC* 不能做而 SHA* 和一些 MD* 可以做的是,後者通常**足夠強大,*可以防止任何超級電腦使用雜湊摘要創建 2 個不同的文件,而 CRC 沒有這樣的強度。
CRC* 擅長檢測“線雜訊”錯誤,但在其他方面缺乏密碼學所需的一定強度。
(來自評論)所以如果我理解正確,CRC的目的是讓你知道有一個錯誤,以及SHA * MD *等是專門設計為具有不同的雜湊值?
有點正確,CRC* 可以讓您知道“線雜訊”錯誤,但不能讓您知道中間人破壞;SHA* 和 MD* 專門設計為“防衝突”,這意味著任何“人為可能”的超級電腦都無法創建 2 個具有相同雜湊摘要的不同文件。
一點背景
根據維基百科,CRC 是由 W. Wesley Peterson 在 1961 年發明的。雜湊函式(我相信)在 1979 年 Ralph C. Merkle 的“安全、認證和公鑰系統”中首次描述(作為單向雜湊函式)