MD5加密

来源:互联网 发布:mdict for mac 编辑:程序博客网 时间:2024/09/21 08:47

参考网上的md5加密,但是出现了错误。并不是我想要的答案,
因为没有进行代码的重构,所以没有更改过来,md5有jdk自带的
也有包进行;
base64加密,进行传输数据;

package com.system.tool;/*** * 工具类:进行md5加密; *  * @author Lw * 2017年3月21日 * TODO: *  */import java.io.UnsupportedEncodingException;  import java.security.MessageDigest;  import java.security.NoSuchAlgorithmException;  /**  * 采用MD5加密解密  * @author lw * @datetime  */  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");         String s="tangfuqiang";        System.out.println("原始:" + s);          System.out.println("MD5后:" + string2MD5(s));          System.out.println("加密的:" + convertMD5(s));          System.out.println("解密的:" + convertMD5(convertMD5(s)));      }  }  
0 0
原创粉丝点击