MD5加密工具

来源:互联网 发布:淘宝客服周总结 编辑:程序博客网 时间:2024/05/21 17:56
package com.liujun.util;import java.security.MessageDigest;/** * MD5加密、匹配工具 * @author asus * */public class MD5Util {//十六进制下数字到字符的映射数组private final static String[] hexDigits={"0", "1", "2", "3", "4",          "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};/** * 将一个字节装换成十六进制形式的字符串 * @param b十六进制字节 * @return十六进制字符串 */private static String byteToHexStr(byte b){int n=b;if(n<0){n=256+n;}int d1=n/16;int d2=n%16;return hexDigits[d1]+hexDigits[d2];}/** * 将字节数组转换成十六进制字符串 * @param bytes字节数组 * @return十六进制字符串 */private static String byteArrayToHexStr(byte[] bytes){StringBuffer sb=new StringBuffer();for (int i = 0; i < bytes.length; i++) {sb.append(byteToHexStr(bytes[i]));}return sb.toString();}/** * 对字符串进行MD5加密 * @param originStr原始密码 * @returnMD5加密密码串 */public static String encodeToMd5Str(String originStr){if (originStr!=null) {try {//创建MD5算法信息MessageDigest messageDigest=MessageDigest.getInstance("MD5");//将原始密码加密转换成MD5字节数组byte[] md5Bytes=messageDigest.digest(originStr.getBytes());//将加密后的字节数组转换成字符串String resultStr=byteArrayToHexStr(md5Bytes);//转换成大写return resultStr.toUpperCase();} catch (Exception e) {e.printStackTrace();}}return null;}/** * 最字符串进行MD5密码匹配 * @param md5Str * @param originStr * @return */public static boolean validatePassword(String md5Str,String originStr){if (md5Str.equals(encodeToMd5Str(originStr))) {return true;}else {return false;}}}
package com.liujun.main;import com.liujun.util.MD5Util;public class Main {public static void main(String[] args) {//原始密码String orginStr="12345";//MD5加密密码String md5Str;//将原始密码生成MD5密码md5Str=MD5Util.encodeToMd5Str(orginStr);System.out.println("原始密码:"+orginStr);System.out.println("MD5加密密码:"+md5Str);//验证密码是否正确if (MD5Util.validatePassword(md5Str, orginStr)) {System.out.println("密码匹配成功");}else{System.out.println("密码匹配失败");}}}
源码下载地址:http://download.csdn.net/detail/u010739551/7875377




0 0
原创粉丝点击