首页 > 代码库 > 调查管理系统 -(2)MD5加密的基本过程与实现

调查管理系统 -(2)MD5加密的基本过程与实现

MD5加密的基本过程:

1、将一个字符串通过getBytes()方法编码为一个字节数组byte[] bytes;

2、将bytes数组经过MD5算法的加密后获得到一个长度为16的新的字节数组md5bytes;

3、将md5bytes数组转换为一个字符串进行保存(一般的该过程是将加密获得的md5bytes转换为十六进制[0~F]保存的32位的字符串)

具体实现:

 1 package com.atguigu.surveypark.util; 2 import java.security.MessageDigest; 3 public class DataUtil { 4     /** 5      * 使用md5算法进行加密  6      */ 7     public static String md5(String src){ 8         try { 9             StringBuffer buffer = new StringBuffer();10             char[] chars = {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘};11             byte[] bytes = src.getBytes();12             MessageDigest md = MessageDigest.getInstance("MD5");13             byte[] targ = md.digest(bytes);14             for(byte b: targ){15                 buffer.append(chars[(b >> 4) & 0x0F]); //当前字节向右移动四位后与(0x00001111)进行"与操作",即对高四位进行与操作。16                 buffer.append(chars[b & 0x0F]); //对低四位进行与操作。17             }18             return buffer.toString();19         } catch (Exception e) {20             e.printStackTrace();21         }22         return null ;23     }24 }

除了自己实现对加密后的字节数组的转换工作之外,还可以直接使用Apache提供的commons-codec.jar包提供的方法来完成对字符串加密处理工作。

如:String md5Digest = DigestUtils.md5Hex("12345");

关于commons-codec.jar包参考:http://www.cnblogs.com/tingzi/archive/2012/08/17/2643742.html(Commons codec jar包详解

 

调查管理系统 -(2)MD5加密的基本过程与实现