首页 > 代码库 > 调查管理系统 -(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加密的基本过程与实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。