Gap*_*oos -3 java encryption sha
我使用上面的代码加密了一个字符串.
public String encrypt(String generatedKey)
{
try {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(generatedKey.getBytes("UTF-8"));
byte digest[] = md.digest();
return (new BASE64Encoder()).encode(digest);
}
catch (Exception e) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
同样,我需要一个代码来解密上面生成的代码.我怎样才能做到这一点?
SHA是摘要算法,而不是加密算法.摘要值不可解密.这就是他们安全的原因.两个不同的输入可以给出相同的摘要值.但这种可能性很小.对于sha256,它是1 /(2 ^ 256).
摘要算法的输出具有恒定的长度.对于SHA256,无论输入长度是1位还是100 Gbs,它始终为256位.如果我们可以解密256位摘要值并返回原始1Gb输入,我们将永远不需要压缩算法:)
| 归档时间: |
|
| 查看次数: |
26740 次 |
| 最近记录: |