最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

java md5加密工具类学习示例

Java基础 太平洋学习网 浏览 评论

java md5加密可以使用第三方的DigestUtils加密工具类,也可以使用原生的md5加密方法,如果是md5第三方加密的话,需要引入maven jar包,如下。

<!-- 加密解密 -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec.version}</version>
</dependency>

下面是写在main方法中的示例代码,md5加密方法非常简单,如下,也需要自己稍微改一下。

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.digest.DigestUtils;

public class ArrayDemo {
	public static void main(String[] args) throws NoSuchAlgorithmException {	
		String str = "hello world";
		//java原生方法
		MessageDigest md = MessageDigest.getInstance("MD5");
		byte[] arr = md.digest(str.getBytes());
		String md5Str = md5ToString(arr);
		System.out.println(md5Str);
		
		//第三方加密方法
		byte[] md5 = DigestUtils.md5(str);
		String md5Str2 =  md5ToString(md5);
		System.out.println(md5Str2);
		
		//第三方直接返回md5 16进制字符串的加密方法
		String md5Str3 = DigestUtils.md5Hex(str.getBytes());
		System.out.println(md5Str3);
	}
	
	//将md5数组转化为16进制字符串
	public static String md5ToString(byte[] md5){
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < md5.length; i++) {
			   int temp = md5[i] & 0Xff;
			   String hexString = Integer.toHexString(temp);
			   if (hexString.length() < 2) {
			    sb.append("0").append(hexString);
			   } else {
			    sb.append(hexString);
			   }
		}
		return sb.toString();
	}
}

原生的md5加密方法是java自带的,在java.security包中,而第三方加密方法在org.apache.commons.codec.digest包中,需要引入maven jar包。

上面的代码输出字符串结果都是一样的,如下。

5eb63bbbe01eeed093cb22bb8f5acdc3

5eb63bbbe01eeed093cb22bb8f5acdc3

5eb63bbbe01eeed093cb22bb8f5acdc3

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/java/2017/1201/415.html

    与本文相关的文章

    发表我的评论
    取消评论

    表情

    您的回复是我们的动力!

    • 昵称 (必填)

    网友最新评论