我有一個大文件需要壓縮,但是我需要確保原始文件與壓縮文件具有相同的哈希值。我在一個較小的文件上嘗試過,散列值不同,但我認爲這可能是因爲元數據更改。如何確保文件在壓縮後不會更改?壓縮是否改變散列值?
0
A
回答
0
這取決於您正在使用哪個shash。如果你使用crc32,使你的哈希值相同是非常微不足道的。 MD5可能已經可能(我不知道那裏的藝術的開始),SHA1可能在幾年內就可以實現。如果你使用SHA256,最好放棄。
蛇鯊約破密碼放在一邊,除非你的散列算法明確知道你的壓縮設置或輸入文件是非常精心打造挑起哈希衝突:哈希將壓縮前後變化。這意味着任何標準加密哈希將在壓縮時發生變化。
所有散列算法看到是位沒有任何意義的流。它不知道壓縮方案,不應該。
0
如果你的散列是CRC-32,那麼你可以插入或四個字節追加到壓縮數據,並將這些來獲得原始CRC。例如,在gzip流中,您可以在標題中插入一個四字節的額外塊。
加密散列的整點,如MD5指出作爲標籤的問題,是使非常困難,或幾乎是不可能的。
相關問題
- 1. 是否值得壓縮BLOB?
- 2. 顯示完整的git散列 - 不是壓縮散列
- 3. 是否有壓縮
- 4. AMF是否值得GZip壓縮
- 5. 視頻壓縮:什麼是離散餘弦變換?
- 6. Subversion是否包含壓縮?
- 7. ColdFusion的散列值不改變
- 8. 改變散列值不工作
- 9. 是否更改散列內的散列不更新第一個?
- 10. 元數據是否改變文件的散列?
- 11. 散列值是否包含引號?
- 12. 如果我散列IV值,是否有任何安全改進?
- 13. 是否可以通過mixin和/或'XOR'壓縮壓縮文件?
- 14. 推薦的方法來檢查文件是否壓縮/壓縮
- 15. HttpURLConnection是否支持開箱即用的壓縮/解壓縮?
- 16. 是否可以使lzw壓縮/解壓縮並行?
- 17. 是否可以通過PHP解壓縮SharpZipLib壓縮響應?
- 18. 是否可以壓縮或壓縮.otf(Open Type Face)文件?
- 19. http壓縮是否也壓縮視圖狀態?
- 20. ImageResizer中是否有像PNY壓縮一樣的PNG壓縮?
- 21. 檢查縮放級別是否改變
- 22. 壓縮陣列
- 23. 序列壓縮?
- 24. md5散列值更改
- 25. 散列函數是否應該返回散列的數值或該值%numBuckets?
- 26. 解壓縮變量
- 27. 要壓縮還是不壓縮?
- 28. 壓縮的圖像是否改善了畫布的性能
- 29. 壓縮swf文件是否有可能導致文件變大?
- 30. 是否壓縮了所有PDF文件?
首先,如果你湊原始未壓縮文件,然後散列壓縮文件,那麼,這些都會有不同的hashvalues。另一方面,如果您散列原始未壓縮文件,然後對壓縮後的內容進行哈希(即,您解壓縮和散列),則不然,不同的散列將指示壓縮或解壓縮失敗。 –