其实我想从加密的密码中取回密码。
密码加密如下:
MessageDigest md = MessageDigest.getInstance("SHA");
md.reset();
byte[] encryptedBinarySource = md.digest(source.getBytes("UTF-8"));
如何解密encryptedBinarySource
的值?
最佳答案
你不能。 SHA 是一种单向加密。能够解密它会破坏它的唯一目的。而是使用双向加密算法。或者,如果它打算加密敏感信息,例如您的密码,那么您应该以相同的方式加密新输入的密码,并将其结果与您存储在某处的原始加密密码进行比较。
但是有所谓的rainbow tables这使您(和黑客!)能够基于哈希揭示原始值。然而,对于 SHA,成功匹配的机会远低于 MD5。
关于java - 如何解密值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861865/