Java MD5 实现加密

工具:Eclipse

源码地址:https://github.com/Sunjinhang/Java

使用java自带的工具类实现MD5加密

加密函数

public static String Encrypt(String str)
	{
		StringBuffer code = new StringBuffer();
		
		MessageDigest md5 = null;
		
		try {
			md5 = MessageDigest.getInstance("MD5");
		}
		catch(Exception ex) {
			ex.printStackTrace();
		}		
		char[] charArr = str.toCharArray();		
		byte[] byteArr = new byte[charArr.length];		
		for(int i = 0;i < charArr.length; i++) {
			byteArr[i] = (byte)charArr[i];			
		}
		
		byte[] md5Arr = md5.digest(byteArr);
				
		for(int i = 0;i < md5Arr.length; i++) {
			int value = (int)md5Arr[i] & 0xff;
			if(value < 16)
			{
				code.append("0");
			}
			code.append(Integer.toHexString(value));
		}
		
		return code.toString();
	}

主要原理就是调用java自带的 MessageDigest,先将用户输入的字符串拆分成单个的字符,以数组形式存储,然后遍历数组,根据ASCII码表对应出每个字符的ASCII码,然后再调用加密函数对转换出的ASCII码数组进行加密。

其中值得注意的时 byte & 0xff 是二进制补位操作,

加密完成后最后转换成字符串的形式呈现

测试:

public static void main(String[] args) {
		
		String str = Encrypt("123456");
		System.out.println(str);
		
	}

输出结果

猜你喜欢

转载自blog.csdn.net/sun_jinhang/article/details/88060803