libook
2015-12-30 16:02:35 +08:00
你可以把这种转换当作压缩(虽然很可能体积变大了), Base64 属于无损压缩,压缩后是可以完全解压缩成原文的; MD5 属于有损压缩,压缩后你就无法还原成原文了,也就是说你把邮箱转化成 MD5 之后别人永远都不知道你的邮箱是啥,因为即便算出了原文也不是你的邮箱。
专业一点的说法就是, Base64 是一种编码,是可逆的; MD5 不是编码, Message Digest Algorithm MD5 (中文名为消息摘要算法第五版),知道啥叫“摘要”嘛?仅凭一句我日记里的摘要是无法还原出我的整篇日记的, MD5 这货生来就是为了碰撞的。
啥是碰撞?碰撞就是: MD5 密文是由你的密码生成的=》只要有人输入密码生成 MD5 和你的密码的 MD5 一样,我就认为这两个密码是同一个密码。但你要知道,在数学上来说,一个 MD5 密文并不唯一对应一个原文,可能对应无穷条,只是瞎蒙碰撞的概率极低罢了。
好,那么我可以有目的有方法地蒙原文吗?答案是可以,山大的一位教授终结了 MD5 的生命,如何终结的呢?她研究出了一个碰撞生成算法,可以在很短的时间蒙出一个碰撞原文,老外改进的算法之前的记录是用 XBox360 来算,算了三天三夜就算出来了。
所以现在 MD5 完全失去了其存在的意义,你要是用它来做密码验证,你就等着被骇吧~
有点扯远了,总之,如果你已经了解这些还要坚持使用 MD5 来计算自己的邮箱,如果有人想还原成原文还真是闲得蛋疼,不过也是没有办法,可以用字典法,但很可能会算出成千上万个不一样的邮箱地址,然后群发邮件,如果全世界所有的神明都站在这个解密人的身后的话,他有可能会发到你的邮箱里。
。。。还是扯远了。。。