MD5加密算法例子

来源:互联网 发布:lolo直播软件下载 编辑:程序博客网 时间:2024/05/04 06:31

http://youzitool.com 新博客,欢迎访问】

 MD5加密类

import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/* * 传入参数:一个字符串 * 传出参数:MD5结果的字符串 */public class MD5 {//将字节转换成十六进制表示的字符private final static char hexDigits[] ={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};//得到MD5字符串public static String getMD5(String str){String s = null;//保存计算的MD5字符串if(str != null){try {MessageDigest md = MessageDigest.getInstance("MD5");byte result[] = md.digest(str.getBytes());//计算结果是一个128位(即16个字符)的长整数s = byteArrayToHexString(result);} catch (NoSuchAlgorithmException e) {e.printStackTrace();}}return s;//返回MD5字符串}//将字节数组转化成十六进制字符串private static String byteArrayToHexString(byte []b){StringBuffer sb = new StringBuffer();for(int i=0;i<b.length;i++)sb.append(byteToHexString(b[i]));return sb.toString();}/* * 函数功能:将一个字节转化成十六进制形式的字符串 * @ 每个字节(byte)占8位,每个16进制字符可用2个字节表示 */private static String byteToHexString(byte b){char sChar[] = new char[2];sChar[0] = hexDigits[(b >> 4) & 0xf];//取字节中高4位的数字转换sChar[1] = hexDigits[b & 0xf];//取字节中低4位的数字转换return new String(sChar);}}<span style="font-family:Arial, Verdana, sans-serif;"><span style="white-space: normal;"></span></span>

测试用例

public class TestMD5 {public static void main(String[] args) {System.out.println(MD5.getMD5("http://blog.csdn.net/matraxa"));}}


原创粉丝点击