我创建了加密方法,用于加密,解密重要数据。我的加密方法示例:
$str='some important text'; // 19
// encrypted $str : 'A6oLM5{!lr4Y9xON4-55Tty%>6A4vgU^893cGv)g' // 40如您所见,输入的长度为19,输出为40。
我发现了一些比输入数据短的双向加密方法。
这怎么可能?
发布于 2013-08-06 22:25:40
我还怀疑您考虑了一些哈希算法,如md5、sha等,这些算法为任何给定的数据提供了固定的结果长度。
另一种可能性是压缩,例如:
我使用以下站点压缩了它:http://www.unit-conversion.info/texttools/compress/
1111111111222222222233333333334444444444555555555566666666667777777777
888888888899999999990000000000结果是:
eNo9wbEBABAMALCXlFL+f8zUJBFtskg2h+LyGHz9kBSD发布于 2013-08-06 22:15:00
你没有告诉我们你的加密算法是什么。你也没有提供一个例子来支持你的问题(你提供的例子正好相反)
简单地说,它并不短--加密的数据不可能比源数据小--任何好的加密算法都不会简单地替代单个字符,而是根据输入序列生成输出。通常情况下,它是键大小的倍数,大于输入。
您似乎看到较短的输出是由于输入在加密之前被压缩。
https://stackoverflow.com/questions/18091394
复制相似问题