【发布时间】:2013-01-17 11:43:06
【问题描述】:
也就是说,测试我是否可以安全地gzinflate字符串。
如果我的压缩数据被篡改,我会收到“错误数据”警告。我不想抑制警告,这意味着我要么必须捕获它,要么测试它是否可以被 gzinflated。后者是我的首选解决方案,但我就是不知道怎么做。
适合以下代码示例的东西会很完美:
if(i_can_haz_inflate($data))
{
// go ahead
$source = gzinflate($data);
}
else
{
// bad data
}
编辑:在指定 gz(de|in)flate 之后,我开始意识到我实际上并不太在意压缩算法。有没有更适合在尝试解压之前检查完整性的方法?
【问题讨论】:
-
Deflate 不会添加魔术字节来显示它是哪种编码,因为这意味着结果会占用更多空间。实现这一目标的唯一方法就是尝试一下,看看是否有问题。
-
也就是说:实际上是放气的缺陷导致它在篡改时失败。完美的压缩算法将允许任何数据作为输入。
标签: php compression