Java/Scala双向MD5

Jas*_*zek 0 java security encryption md5 scala

我试图找到一些如何获取字符串并使用MD5散列它的样本,然后能够将哈希(正确的术语?)反向回原始字符串.

有没有人知道任何文档,说明如何做到这一点,或者理想情况下有任何可以共享的示例代码?

我已经阅读了java.security.MessageDisgest类,但这似乎只是单向的.我需要能够将哈希转换回原始数据.MD5是最好的算法,还是我应该完全看待别的东西?

Syn*_*sso 8

MD5具有破坏性.哈希时丢失数据.

也许您正在寻找像DES或(更好)AES这样的对称密码?

bouncycastle安全提供程序在http://www.bouncycastle.org/specifications.html上有一个DES实现示例

编辑:对不起,我已经开枪了.您的目标是什么:压缩,索引,校验和,加密或其他什么?


Nul*_*ion 5

散列函数旨在不可逆转.

您需要的是使用安全传输层,如SSL或TLS(例如:HTTPS是带有SSL或TLS的HTTP). 请不要在这个上滚动自己.

请注意,在客户端上简单地使用AES之类的对称密码(例如:Javascript)是没用的,因为您需要向所述客户端提供密钥,因此攻击者可以轻松地解密任何截获的消息.