栀八月yu 2023-01-13 09:20 采纳率: 76.3%
浏览 102
已结题

MD5如何用Java进行解密

数据库里存的密码是 e10adc3949ba59abbe56e057f20f883e
用的是MD5加密存的,怎么用Java将他解密出来呢?

这是MD5加密的工具类,用的是string2MD5这个方法

public class MD5Util {
    public static String string2MD5(String inStr) {
        MessageDigest md5 = null;
        try {
            md5 = MessageDigest.getInstance("MD5");
        } catch (Exception e) {
            System.out.println(e.toString());
            e.printStackTrace();
            return "";
        }
        char[] charArray = inStr.toCharArray();
        byte[] byteArray = new byte[charArray.length];

        for (int i = 0; i < charArray.length; i++)
            byteArray[i] = (byte) charArray[i];
        byte[] md5Bytes = md5.digest(byteArray);
        StringBuffer hexValue = new StringBuffer();
        for (int i = 0; i < md5Bytes.length; i++) {
            int val = ((int) md5Bytes[i]) & 0xff;
            if (val < 16)
                hexValue.append("0");
            hexValue.append(Integer.toHexString(val));
        }
        return hexValue.toString();

    }

    public static String convertMD5(String inStr) {
        char[] a = inStr.toCharArray();
        for (int i = 0; i < a.length; i++) {
            a[i] = (char) (a[i] ^ 't');
        }
        String s = new String(a);
        return s;

    }

    // 测试
    public static void main(String args[]) {
        String s = "123456";
        System.out.println("原始:" + s);
        System.out.println("MD5后:" + string2MD5(s));
    }


  • 写回答

7条回答 默认 最新

  • 小小野猪 2023-01-13 09:31
    关注

    感谢邀请。 不过大哥啊,你真敢想。 首先MD5是单向加密,密文结果有16位的,也有32位的。

    若是几千字或者几万字的文章用MD5加密,结果是32位的密文:d754c572fd606694f3849fc24f13837c。 谁也不知道加密前的原文是什么。

    除非是大服务器,使用碰撞计算,还有一定的可能。

    若有帮助,记得采纳哦

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月13日

悬赏问题

  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程