我有一个大文件需要压缩,但是我需要确保原始文件与压缩文件具有相同的哈希值。我在一个较小的文件上尝试过,散列值不同,但我认为这可能是因为元数据更改。如何确保文件在压缩后不会更改?压缩是否改变散列值?
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。另一方面,如果您散列原始未压缩文件,然后对压缩后的内容进行哈希(即,您解压缩和散列),则不然,不同的散列将指示压缩或解压缩失败。 –