为了账号安全,请及时绑定邮箱和手机立即绑定

32位MD5码还原成原来的String类型的字符串。代码如下:

32位MD5码还原成原来的String类型的字符串。代码如下:

慕标琳琳 2019-03-14 14:14:08
public class Md5Util {/** * 根据输入的字符串生成固定的32位MD5码 *  * @param str *            输入的字符串 * @return MD5码 */public final static String getMd5(String str) {    MessageDigest mdInst = null;    try {        mdInst = MessageDigest.getInstance("MD5");    } catch (NoSuchAlgorithmException e) {        e.printStackTrace();    }    // 使用指定的字节更新摘要    mdInst.update(str.getBytes());    // 获得密文    byte[] md = mdInst.digest();    return StrConvertUtil.byteArrToHexStr(md);}public static void main(String[] args) {    System.out.println(Md5Util.getMd5("admin123abc"));}}以上是加密把String字符串加密成32位MD5的代码。请问各位大神 怎么把MD5在还原成String类型的字符串啊!!!!
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

首先MD5是不可逆的,他不是密码,是摘要

有库函数可以调用,自行查找,你要自己写也是可以的,看一下密码学,了解下MD5的生成原理就可以了

MD5不能还原成String的,就是说这是不能解密的,唯一可破解的方式是,结合彩虹表等进行MD5碰撞,即尝试用明文计算后的摘要和目标摘要比对,一致就说明碰撞成功了


查看完整回答
反对 回复 2019-04-22
  • 1 回答
  • 0 关注
  • 412 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号