求通过“0cc175b9c0f1b6a831c399e269772661”得到“a”是java代码
答案:4 悬赏:40 手机版
解决时间 2021-02-16 17:20
- 提问者网友:沦陷
- 2021-02-16 07:11
求通过“0cc175b9c0f1b6a831c399e269772661”得到“a”是java代码
最佳答案
- 五星知识达人网友:污到你湿
- 2021-02-16 07:34
据我了解md5加密好像是单向的,只能加密,不能解密。
如果类似登录的功能,可以将输入的密码加密后与数据库中已经加密的密码进行比较,如果相同就表示密码正确。追答我看了一下,他是自己建立了一个字符映射系统(可以理解为密码本),将输入的字符与这个密码本对应,就可以解析出这些字符。
你可以通过这个网站顶部的介绍来。在说明中他也说了,解密的成功率并不是100%。如果你想实现这个功能,你可以了解一下,看看这个网站有没有对外发布接口(如WebService接口),调用这些接口来实现解密功能。
如果类似登录的功能,可以将输入的密码加密后与数据库中已经加密的密码进行比较,如果相同就表示密码正确。追答我看了一下,他是自己建立了一个字符映射系统(可以理解为密码本),将输入的字符与这个密码本对应,就可以解析出这些字符。
你可以通过这个网站顶部的介绍来。在说明中他也说了,解密的成功率并不是100%。如果你想实现这个功能,你可以了解一下,看看这个网站有没有对外发布接口(如WebService接口),调用这些接口来实现解密功能。
全部回答
- 1楼网友:一叶十三刺
- 2021-02-16 09:40
MD5不可能解密
- 2楼网友:佘樂
- 2021-02-16 08:38
md5加密中用到了位移,解密是不可能做到的
public String getOriginal(String str){
if("0cc175b9c0f1b6a831c399e269772661".equals(str))
return "a";
}
public String getOriginal(String str){
if("0cc175b9c0f1b6a831c399e269772661".equals(str))
return "a";
}
- 3楼网友:慢性怪人
- 2021-02-16 08:01
MessageDigest md = MessageDigest.getInstance("MD5");
md.update("a".getBytes());
byte[] b = md.digest();
int i=0;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++)
{
i = b[offset];
if(i<0)
{
i+= 256;
}
if(i<16)
{
buf.append("0");
}
buf.append(Integer.toHexString(i));
}
System.out.println(buf.toString());
md.update("a".getBytes());
byte[] b = md.digest();
int i=0;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++)
{
i = b[offset];
if(i<0)
{
i+= 256;
}
if(i<16)
{
buf.append("0");
}
buf.append(Integer.toHexString(i));
}
System.out.println(buf.toString());
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯