java语言MD5加密字符串,计算文件的MD5值

位置:首页>文章>详情   分类: 教程分享 > Java教程   阅读(1303)   2023-03-28 11:29:14
java语言MD5加密字符串,计算文件的MD5值
package org.xqlee.utils.security;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 
 * 
 * <pre>
 * _________________________INFO_____________________________
 *  Description : [MD5加密工具类] 
 *  Encoding    : [UTF-8]
 *  Package     : [org.xqlee.utils.md5]
 *  Project     : [utils]
 *  Author      : []
 *  CreateDate  : []
 *  Updater     : []
 *  UpdateDate  : []
 *  UpdateRemark: []
 *  Company     : [Shallink Electronic Information]
 *  Version     : [v 1.0]
 * __________________________________________________________
 * </pre>
 */
public class MD5Util {

	/**
	 * 加密一个输入字符串
	 * 
	 * @param visibleString
	 *            输入一个可见的明码<br>
	 *            类型:java.lang.String
	 * @return 一个加密后的MD5值<br>
	 *         通常用于密码加密
	 * @throws NoSuchAlgorithmException
	 */
	public static String getEnMD5String(String visibleString) throws NoSuchAlgorithmException {
		MessageDigest md5;
		// 生成一个MD5加密计算摘要
		md5 = MessageDigest.getInstance("MD5");
		// 计算md5函数
		md5.update(visibleString.getBytes());
		// digest()最后确定返回md5 hash值,返回值为8为字符串。因为md5 hash值是16位的hex值,实际上就是8位的字符
		// BigInteger函数则将8位的字符串转换成16位hex值,用字符串来表示;得到字符串形式的 值
		String pwdStr = new BigInteger(1, md5.digest()).toString(16);
		return pwdStr;
	}

	/**
	 * 计算文件MD5值
	 * 
	 * @param file
	 *            输入一个文件参数<br>
	 *            类型:java.io.File
	 * @return 该文件的MD5值<br>
	 *         类型:java.lang.String
	 * @throws IOException
	 *             IO异常
	 * @throws NoSuchAlgorithmException
	 *             MD5获取实例异常
	 */
	public static String getMd5ForFile(File file) throws IOException, NoSuchAlgorithmException {
		FileInputStream in = null;
		in = new FileInputStream(file);
		MessageDigest md5 = MessageDigest.getInstance("MD5");
		byte[] cache = new byte[2048];
		int len;
		while ((len = in.read(cache)) != -1) {
			md5.update(cache, 0, len);
		}
		in.close();
		BigInteger bigInt = new BigInteger(1, md5.digest());
		return bigInt.toString(16);
	}

}

标签: java编程 MD5计算
地址:https://www.leftso.com/article/36.html

相关阅读

jQuery之MD5加密插件使用及下载,网络中md5进行简单加密的地方越来越多。这里讲解一个jQuery的md5插件
Postman 请求前修改密码为MD5值Postman请求参数设置 选择Pre-request Script栏目 获取明文密码并md5加密后设置到变量中 脚本://获取明文密码 let pwd=...
在Java编程测试中junit5 新特性与使用,Java编程,junit5
Java编程之spring boot FastDFS Java client使用,Java编程,FastDFS Java客户端
Java编程软件有哪些?常用Java编程软件下载、安装和使用说明
本文讲解什么是JWT,JWT的构成和JWT算法?,Java编程,JWT
java编程中spring框架5.0介绍说明/概述,spring5,spring框架,java编程
Java编程中Spring Boot整合RabbitMQ实现消息中间件RabbitMQ的使用
java编程之java jwt token使用,autho0的Java-jwt框架使用,java编程,java-jwt