大家来探讨一下..这样的压缩算法是否在理论上是可行的阿..^_^
使用MD5来实现任意压缩比例的压缩算法..
命题:MD5是一段2进制数据的数字指纹,它对应于这段数据是唯一的..
压缩过程:循环从待压缩文件中读取256bit的2进制数据制作128bit的Md5的数据,压缩文件只保存128bit的Md5
解缩过程:循环从压缩文件中读取128bit的2进制数据Md5 Key ,采用穷尽法填充256bit的2进制数,并和Md5 Key比较..如果相等这个数据就是要恢复的数据.
以上实现的是压缩比为2:1的压缩方法..
如果读取的是512bit 压缩比就为4:1
当然压缩比越大..解压缩的时间越长.
[解决办法]
关键是穷尽的代价太大 !!!
[解决办法]
MD5 也有碰撞
[解决办法]
MD5的特点是:1、不是一一映射 2、逆运算代价非常大
而压缩算法要求的是:1、一一映射 2、逆运算(解压)代价可接受
综上所述,MD5不能当压缩算法
[解决办法]
MD5,签名用的用来压缩~