java实现MD5加密
2016-05-22 15:28
253 查看
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
相关文章推荐
- cmd中javac 和 java的用法
- Java8 Stream 初探(一)
- 『eclipse使用技巧之一』当鼠标放到类或方法上,显示或隐藏类或方法的介绍
- JAVA 自定义的base64编解码
- 【SSH网上商城项目实战25】使用java email给用户发送邮件
- springmvc整合thymeleaf中文乱码
- Java中HashMap详解
- java中static通俗见解
- maven设置中ERROR: JAVA_HOME is set to an invalid directory
- Java中的文件和目录管理(上)---File类
- 为何 IntelliJ IDEA 比 Eclipse 更好
- eclipse创建maven项目
- Java Map各遍历方式的性能比较
- 如何在Ubuntu 14.04中安装最新版Eclipse
- Java集合类操作优化经验总结(原文已发表于IBM Developworks)
- JAVA基础之二维数组
- Java开发中的23种设计模式详解(转)
- Java8 随笔记录(六)
- JAVA基础之设计模式
- IO学习(十八)两个图总结常用javaIO流