hash - 在以无损格式(如 PNG、GIF 等)压缩的图像上计算散列是否安全?
问题描述
我想知道任何无损图像压缩格式(例如 PNG)是否带有某种唯一性保证,即两个不同的压缩二进制文件总是解码为不同的图像。
我想计算以无损压缩格式存储的图像的哈希值,并且想知道计算压缩版本的哈希值是否足够。
(有一些很好的理由来计算未压缩图像上的哈希,但这里超出了我的问题范围。)
解决方案
不,这不适用于 PNG。压缩过程有许多参数(每行使用的过滤类型、ZLIB 压缩级别和设置),因此单个原始图像可以生成许多不同的 PNG 文件。更糟糕的是,PNG 允许包含带有杂项信息(例如,文本注释)的辅助数据(块)。
推荐阅读
- mysql - 如何在mysql中将点添加到多边形或几何的所有点?
- python - Python 3.7 导入命令出现奇怪的 Pylint 错误
- ios - MKAnnotationView:在 annotationView 下方有文本并渲染 View
- javascript - 基于参数的单例模式在javascript中创建promise
- html - 根据元素数量调整元素大小
- python - tf.data.Dataset + tf.lookup.index_table_from_file 导致“表未初始化”错误
- html - 与 Wordpress 中的自定义 CSS 和重力形式对齐
- android - 具有不同本地和远程行为的存储库模式
- python - 使用用户定义函数时如何让两个函数返回?
- asp.net-core - ASP.NET Core 如何在第一次运行时初始化连接字符串?