⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 md5.java

📁 使用jsp+java开发的bbs论坛源码
💻 JAVA
字号:
package com.bbs.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * @time 2007-10-11
 * @author 李龙龙
 * @MD5加密的实现
 */
public class MD5 {

	/**
	 * 
	 * @param inputStr
	 * @return String
	 * @throws NoSuchAlgorithmException
	 * 把输入的字符加密以后输出
	 */
	public String convert(String inputStr) throws NoSuchAlgorithmException {

		// 构造一个MessageDigest类的对象
		MessageDigest md = MessageDigest.getInstance("MD5");
		
		// 把输入的字符串转化为字符数组
		char[] charArray = inputStr.toCharArray();
		
		// 创建一个Byte类型的数组
		byte[] byteArray = new byte[charArray.length];
		
		// 字符数组的值赋给Byte数组
		for (int i = 0; i < byteArray.length; i++) {
			byteArray[i] = (byte) charArray[i];
		}
		
		// 通过MessageDigest对象的digest方法对Byte数组进行处理
		byte[] mdBytes = md.digest(byteArray);
        
		//把处理过的Byte数组的数据(16位),转成32位的16进制整形,然后放到一个StringBuffer对象中
		StringBuffer hexValue = new StringBuffer();
		
		for (int i = 0; i < mdBytes.length; i++) {

			int val = ((int) mdBytes[i]) & 0xff;
			//如果转换成的整型变量小于16的话,那么再它的前面加0.(因为小于16的整型变量转换成16进制再转成字符只能是1位,所以在前面加0以补成2们)
			if (val < 16)
				hexValue.append(0);
			hexValue.append(Integer.toHexString(val));
		}
		
		//返回String类型的数据
		return hexValue.toString();
	}

	public static void main(String[] args) {
		//这是一个测试代码
	
		try {
			System.out.println(new MD5().convert("你即我来啊,这也行啊"));
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -