登陆模块肯定要用到密码,用到密码就会涉及加密,今天写项目时整理了个简单易用的MD5 加密,分享一下。 //传入String字符串,返回加密过后的String字符串,同样的密码每次返回的结果都一样,可直接写入数据库。 package com.an.chhospatil.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5加密工具类 * @author liu * */ public class MD5Util { private static final char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; /** * 得到参数加密后的MD5值 * @param inStr * @return 32byte MD5 Value */ public static String getMD5(String inStr){ byte[] inStrBytes = inStr.getBytes(); try { MessageDigest MD = MessageDigest.getInstance('MD5'); MD.update(inStrBytes); byte[] mdByte = MD.digest(); char[] str = new char[mdByte.length * 2]; int k = 0; for(int i=0;i byte temp = mdByte[i]; str[k++] = hexDigits[temp >>> 4 & 0xf]; str[k++] = hexDigits[temp & 0xf]; } return new String(str); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } }
使用方法:
static的类也是static的方法,可直接调用。 简单测试用例: /** * 测试md5加密工具 */ @Test public void testGetMD5() { String pwd ='123456';//加密得到:E10ADC3949BA59ABBE56E057F20F883E String pwd1 ='zzz';//加密得到:F3ABB86BD34CF4D52698F14C0DA1DC60 System.out.println(MD5Util.getMD5(pwd1)); }
git代码分享地址https://git.oschina.net/lovepeng/share-for-you.git@两毛五哥哥
|