博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 采用MD5加密解密
阅读量:6457 次
发布时间:2019-06-23

本文共 1817 字,大约阅读时间需要 6 分钟。

MD5加密解密

package endecrypt;    import java.io.UnsupportedEncodingException;  import java.security.MessageDigest;  import java.security.NoSuchAlgorithmException;    /**  * 采用MD5加密解密  * @author tfq  * @datetime 2011-10-13  */  public class MD5Util {        /***      * MD5加码 生成32位md5码      */      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 = new String("tangfuqiang");          System.out.println("原始:" + s);          System.out.println("MD5后:" + string2MD5(s));          System.out.println("加密的:" + convertMD5(s));          System.out.println("解密的:" + convertMD5(convertMD5(s)));        }  }

 

转载地址:http://rfizo.baihongyu.com/

你可能感兴趣的文章
一步一步学习SignalR进行实时通信_2_Persistent Connections
查看>>
jQuery中常用的函数方法总结
查看>>
tabbarcontroller-1
查看>>
[Leetcode]376. Wiggle Subsequence
查看>>
去除系统部分属性触摸是出现的色值
查看>>
Cocos Creator 橡皮差(刮刮卡)功能(转)
查看>>
现实世界的Windows Azure:采访Soluto的创始人Tomer Dvir
查看>>
linux内存随笔
查看>>
13-初识指针
查看>>
UVA 11991 Easy Problem from Rujia Liu?【STL】
查看>>
科技助农、航空报国、产业兴邦——钱旺正式发布“雨田一号”农用无人机
查看>>
xsxsxsxsxsxsxsxs
查看>>
[转] Java中的ReentrantLock和synchronized两种锁定机制的对比
查看>>
Vector(同步)和ArrayList(异步)异同
查看>>
python基础和进阶思维导图(转)
查看>>
Axure XMind整理交互思路
查看>>
三维模型等大长方体剖分算法实现
查看>>
命令对象SqlCommand(四)执行语句
查看>>
qTip Style
查看>>
windows下如何编译 leveldb 1.5最新版
查看>>