`
happyqing
  • 浏览: 3194409 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java MD5加密工具类

    博客分类:
  • java
阅读更多

 

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * MD5加密工具类
 * @author happyqing
 */
public class MD5Util {
	
	private static final Log log = LogFactory.getLog(MD5Util.class);
	
	/**
	 * 字符串的MD5
	 * @param filePath
	 * @return
	 */
	public static String encode(String plainText) {
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			md.update(plainText.getBytes());
			byte b[] = md.digest();

			int i;

			StringBuffer buf = new StringBuffer("");
			for (int offset = 0; offset < b.length; offset++) {
				i = b[offset];
				if (i < 0)
					i += 256;
				if (i < 16)
					buf.append("0");
				buf.append(Integer.toHexString(i));
			}
			return buf.toString();
			//System.out.println("result: " + buf.toString());// 32位的加密
			//System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "";
	}
	
	/**
	 * 文件的MD5
	 * @param filePath
	 * @return
	 */
	public static String getFileMD5(String filePath){
		String value = null;
		FileInputStream in = null;
		try {
			File file = new File(filePath);
			in = new FileInputStream(file);
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			byte[] buffer = new byte[8192];
			int c;
			while ((c = in.read(buffer)) != -1) {
				md5.update(buffer, 0, c);
			}
			BigInteger bi = new BigInteger(1, md5.digest());
			value = bi.toString(16).toUpperCase();
		} catch (Exception e) {
			log.error(e);
		} finally {
			if (null != in) {
				try {
					in.close();
				} catch (IOException e) {
					log.error(e);
				}
			}
		}
		return value;
	}
	
	public static void main(String args[]) {
		String str = "abc";
		Long b1 = System.currentTimeMillis();
		
		for(int i =0;i<1;i++){
			//MD5.encode(str);
			System.out.println(MD5Util.encode(str)); //900150983cd24fb0d6963f7d28e17f72
			
//			Md5PasswordEncoder md5 = new Md5PasswordEncoder();
//			//md5.setEncodeHashAsBase64(false);
//			//md5.encodePassword(str, "");
//			System.out.println(md5.encodePassword(str, ""));
		}
		Long e1 = System.currentTimeMillis();
		System.out.println("MD5.encode耗时:"+(e1-b1));
	}

}

 

分享到:
评论

相关推荐

    Java Md5加密工具类

    Java Md5加密工具类

    java MD5加密工具类

    以下是一个简单的Java MD5加密工具类示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { private static final String MD5 = "MD5"; ...

    Java MD5加密工具类(支持多参数输入)

    我们的Java MD5加密工具类以String... inputStrs为武器,打破了传统加密函数的单值局限。这意味着,无论是单独的密码字符串,还是需要合并加密的多部分数据,只需一个方法调用,一切尽在掌握。这不仅大幅提升了编码...

    java md5加密工具类

    java md5加密工具类

    Java MD5 加密工具类

    Java MD5加密工具类,MD5 Message-Digest Algorithm MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。

    MD5加密的工具类,可直接使用

    这是一个Java的工具类,进行加密操作的时候调用该类的方法就可以,工具类里面写了一个main,拿啦直接用就行。

    java中md5加密工具类

    private static final String hexDigits[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; public static void main(String[] args){ String result = MD5Util.MD5...

    MD5加密工具类

    MD5加密算法,主要对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。

    Java_MD5加密工具类

    ### Java_MD5加密工具类详解 #### 一、概述 在信息安全领域,数据加密是确保数据安全的重要手段之一。MD5(Message-Digest Algorithm 5)作为一种常用的散列算法,在许多场景下被用来生成固定长度的摘要信息。本文...

    java MD5加密工具包

    用java封装的MD5加密工具包,创建对象,传递要加密的字符串,即可返回32位大写的MD5加密后的字符串

    Java语言描述MD5加密工具类实例代码

    标签中的"java md5加密工具类 java md5工具类 加盐 md5 java 工具类",表明了本文的主要关键词是Java、MD5、加密工具类、加盐等。 在部分内容中,我们可以看到Java语言中MD5加密工具类的实例代码,包括了公盐、私盐...

    JavaMD5加密工具类

    JavaMD5加密工具类 algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(s.getBytes("UTF-8")); byte[] messageDigest = algorithm.digest(); return messageDigest;

    java常用类-MD5加密与DES加密解密

    java中常用的工具类,用于MD5的加密,里面还有切割了MD5加密的长度,有DES加密与解密,并且配有main函数可测试,可以根据自己的实际情况使用main函数测试使用

    windows下MD5加密工具bat文件

    总的来说,这个“windows下MD5加密工具bat文件”提供了一种简单便捷的方式,在Windows环境中利用Java进行MD5加密。用户无需了解复杂的命令行语法,只需输入字符即可快速获取MD5值,这对于日常的文件校验或临时需求...

    Java MD5加密工具案例

    Java MD5加密工具案例,常用加密方式,提供MD5加密方法

    java加密工具类 md5 aes base64 urlencode

    加密工具类 包含md5加密 base加密解密 md5加密 aes加密解密 urlencoude

    java md5文件加密工具

    纯java代码编写的文件加密工具,采用MD5方式加密,一旦忘记密码不能恢复,请谨慎使用(作者不承担任何责任),本工具只做研究学习使用

Global site tag (gtag.js) - Google Analytics