use*_*147 2 java encryption base64 md5 sha1
如何从此方法中反转此输出?(这样我就可以看到明文了)我没有看到任何键被使用.
public String encrypt(String plaintext) {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA");
} catch (NoSuchAlgorithmException e) {
}
try {
md.update(plaintext.getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
}
byte raw[] = md.digest();
String hash = (new BASE64Encoder()).encode(raw);
return hash;
}
Run Code Online (Sandbox Code Playgroud)
你不能.SHA系列是哈希算法; 也就是说,它们是产生哈希或消息摘要的单向加密算法.没有办法回来.散列是来自任何长度的消息的固定长度结果,其设计目标是找到产生相同散列值的两个消息在计算上是不可行的.因此,对于所有意图,哈希可被视为识别消息.但你无法返回并从中检索消息.
哈希是没有密钥的.可以使用它们创建键控构造,例如消息验证代码或MAC.
该方法实际上命名不佳 - 这本身不是"加密".
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |