小伙伴们听说过 ZIP 炸弹吗?一个很小很小的,几十 KB 的压缩过后的文件,解压以后有几百万 GB ,好像炸弹一样,瞬间让电脑 硬盘 BOOM。
BOOM
在继续介绍压制炸弹之前,小编想先问问各位都用过哪些压缩软件?
WinRAR ?
或者 2345 好压?
还是开源的 7 - Zip ?
其实压缩软件虽然五花八门,但目的都很单纯:把文件占用空间缩小。不过上面提到的压缩软件,又不单纯是缩小空,比如 JPG 图片 , MP3 音乐格式也起到了压缩作用,但是 JPG, MP3 们执行的是有损压缩。
一旦个文件被有损压缩的时候,会损失一部分数据。损失的代价就是,你无法从被压缩的文件还原出压缩前的文件。
图片,音乐等多媒体在有的时候考虑可用性和传播性,对这样的结果是可以接受的。但对许多通用数据来说,往往需要的是无损压缩,比如 .zip 。
对于无损压缩来说,算法非常重要,不同的算法能实现的压缩率和速度有很大差别。
如上图所示,主流的算法一般在 30% - 40% 。而文章一开始介绍的 ZIP 炸弹,是一个名为 42.zip 的文件。
它的初始大小是 42KB , 解压密码是 42 ;
解压之后的大小,足足有 4.5 PB ;
嗯。。。就是这么嚣张,450 PB,足以让任何普通用户电脑硬盘奔溃。