java实现MD5加密

来源:互联网 发布:mac版app store 编辑:程序博客网 时间:2024/05/17 07:53
package com.pifeng.test;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * @date 2016/5/22 * @author 皮锋 * @function java实现MD5加密 */public class MD5 {// 全局数组private final static String[] strDigits = { "0", "1", "2", "3", "4", "5","6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };// public MD5() {// }// 返回形式为数字跟字符串private static String byteToArrayString(byte bByte) {int iRet = bByte;// System.out.println("iRet="+iRet);if (iRet < 0) {iRet += 256;}int iD1 = iRet / 16;int iD2 = iRet % 16;return strDigits[iD1] + strDigits[iD2];}// 返回形式只为数字private static String byteToNum(byte bByte) {int iRet = bByte;// System.out.println("iRet1=" + iRet);if (iRet < 0) {iRet += 256;}return String.valueOf(iRet);}// 转换字节数组为16进制字串private static String byteToString(byte[] bByte) {StringBuffer sBuffer = new StringBuffer();for (int i = 0; i < bByte.length; i++) {sBuffer.append(byteToArrayString(bByte[i]));// 返回形式为数字跟字符串// sBuffer.append(byteToNum(bByte[i]));// 返回形式为数字跟字符串}return sBuffer.toString();}// 得到MD5加密结果public static String getMD5Code(String strObj) {String resultString = null;try {resultString = new String(strObj);MessageDigest md = MessageDigest.getInstance("MD5");// md.digest() 该函数返回值为存放哈希值结果的byte数组resultString = byteToString(md.digest(strObj.getBytes()));} catch (NoSuchAlgorithmException ex) {ex.printStackTrace();}return resultString;}/** * 主方法 */public static void main(String[] args) {String getMD5Code = getMD5Code("20160520");System.out.println(getMD5Code);System.out.println(getMD5Code(getMD5Code));}}

测试结果:

e430e19fc43c95df534fb856a062cd58
ca6bad9d25db45b813d293d6ad7d58bd

2 0
原创粉丝点击