先解释下:

MD5是不可逆,这里的加密解密,你可以看到是对MD5算法先加密后解密,而不是对MD5的解密

package com.test;import java.security.MessageDigest;public class DecryptMD5 {// MD5加码。32位   public static String MD5(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 KL(String inStr) {   // String s = new 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 String JM(String inStr) {   char[] a = inStr.toCharArray();   for (int i = 0; i < a.length; i++) {   a[i] = (char) (a[i] ^ 't');   }   String k = new String(a);   return k;   }   // 测试主函数   public static void main(String args[]) {   String s = new String("sa");   System.out.println("原始:" + s);   System.out.println("MD5后:" + MD5(s));   System.out.println("MD5后再加密:" + KL(MD5(s)));   System.out.println("解密为MD5后的:" + JM(KL(MD5(s))));   }   }

MD5的加密和解密算法相关推荐

  1. php 结合md5的加密,解密方法

    php 结合md5的加密,解密方法 张映 发表于 2012-06-28 分类目录: php 标签:md5, php 最近在整理代码发现了一个不错的东西,结合md5的加解密算法.网上关于php结合md5 ...

  2. php 加盐md5,php 结合md5的加密,解密方法

    最近在整理代码发现了一个不错的东西,结合md5的加解密算法.网上关于php结合md5的加密,解密算法比较少的,其实php手册里面就有,改一改就行了.在此贴一下,用这算法要加载一个php模块mcrypt ...

  3. 常见的加密和解密算法—MD5

    转载:https://www.cnblogs.com/maohuidong/p/7967257.html 常见的加密和解密算法-MD5 一.MD5加密概述 Message Digest Algorit ...

  4. aes加密算法python实现_Python基于pycrypto实现的AES加密和解密算法示例

    本文实例讲述了Python基于pycrypto实现的AES加密和解密算法.分享给大家供大家参考,具体如下: 一 代码 # -*- coding: UTF-8 -*- import string imp ...

  5. C语言加密和解密算法

    C语言加密和解密算法 简介:字符串的加密和解密方法一直被广泛应用,最常见的无非是 MD5 散列函数(MD5是信息摘要的一种,可以从任意长度的字符串生成128位的哈希值). 先来看代码:(注意作者代码中 ...

  6. 字符串加密、解密算法

    字符串加密.解密算法包括: MD5.Des.Base64三种方式,详情如下所示:using System; using System.Collections.Generic; using System ...

  7. java加密与解密工具_cat: CAT,全称Cryptographic Algorithm Tool,是一款小巧的Java加密与解密算法调用工具包...

    cat 一.介绍 cat:全称Cryptographic Algorithm Tool 主要提供以下加密算法调用: 1.AES 2.DES 3.DSA 4.MD5 5.MersenneTwister( ...

  8. 不错的威盾PHP加密专家解密算法

    <?php /*********************************** *威盾PHP加密专家解密算法 http://www.my400800.cn **************** ...

  9. 简单移位密码——凯撒加密、解密算法

    简单移位密码--凯撒加密.解密算法 移位密码是简单的替换密码(simple substitution cipher),即将明文的一个字符用相应的一个密文字符替换. 算法描述:设P=C=K=Z26,对k ...

最新文章

  1. 3.20周记:栈和队列
  2. 【PAT】A1079 Total Sales of Supply Chain
  3. python封装类连接mysql数据_python操作mysql数据库基本类封装
  4. 五:CentOS7安装出现Warning
  5. Linux 命令之 sudo -- 以其他用户身份来执行命令
  6. 工作项跟踪管理系统需求
  7. 基于机器学习的网络安全态势感知
  8. 计算机二级34套word答案,全国计算机二级C选择题题库第34套
  9. 如何在Java的特定范围内生成随机整数? [英]How do I generate random integers within a specific range in Java?
  10. 独家 | 精彩!这27本书籍,每位数据科学家都应该阅读(附说明图表)
  11. 概要设计说明书【校园BBS论坛】2022-5.5
  12. Apache和Httpd是什么关系
  13. 成都实施垃圾分类草案
  14. 腾达无线打印服务器,(原创)腾达PA + PA3电力猫扩展无线信号 路由器LAN口智能扩展...
  15. 一个碌碌无为的程序员
  16. 服务器cpu哪个型号主频最高,史上最高主频 默认4.4GHz至强CPU发布
  17. AVG神作是如何炼成的? 《逆转裁判》成步堂三部曲解析
  18. 2021-06-10 multisim仿真,高温报警电路555
  19. 在设备树中时钟的简单使用
  20. 新中式风格有哪些特点?新中式风格装修有哪些注意事项?

热门文章

  1. 【MySQL】SHOW WARNINGS和SHOW ERRORS的作用是什么?
  2. cm11修改wifi_mac地址
  3. Maven项目插件飘红解决方案
  4. 学会Python后利用WiFi就可以获取妹子的微信号啦
  5. 解决小米miui系统调用系统裁剪图片功能崩溃失败的问题
  6. 拉依达准则的python代码
  7. DTI-ATS入门(1):DTI综述
  8. WordCAT 一款功能强大、免费共享的Word文档计算机辅助翻译软件
  9. Debug:‘boost::this_thread‘ has not been declared; undefined reference to ‘boost::this_thread...‘
  10. iOS面试攻略,你必须拥有