如何解密该值

1 java encryption digest-authentication cryptographic-hash-function

实际上我想从加密密码中取回密码.

密码加密如下:

MessageDigest md = MessageDigest.getInstance("SHA");
md.reset();
byte[] encryptedBinarySource = md.digest(source.getBytes("UTF-8"));
Run Code Online (Sandbox Code Playgroud)

如何解密价值encryptedBinarySource

Bal*_*usC 5

你不能.SHA是单向加密.能够解密它会打破它的唯一目的.而是使用双向加密算法.或者,如果您希望在您的情况下加密敏感信息(如密码),那么您应该以相同的方式加密新输入的密码,并将其结果与您存储在某处的原始加密密码进行比较.

然而,有一些所谓的彩虹表,它使你(和黑客!)能够根据哈希显示原始值.对于SHA,成功匹配的机会远低于MD5.