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 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { private static final String MD5 = "MD5"; ...
我们的Java MD5加密工具类以String... inputStrs为武器,打破了传统加密函数的单值局限。这意味着,无论是单独的密码字符串,还是需要合并加密的多部分数据,只需一个方法调用,一切尽在掌握。这不仅大幅提升了编码...
java md5加密工具类
Java MD5加密工具类,MD5 Message-Digest Algorithm MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
这是一个Java的工具类,进行加密操作的时候调用该类的方法就可以,工具类里面写了一个main,拿啦直接用就行。
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加密算法,主要对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
### Java_MD5加密工具类详解 #### 一、概述 在信息安全领域,数据加密是确保数据安全的重要手段之一。MD5(Message-Digest Algorithm 5)作为一种常用的散列算法,在许多场景下被用来生成固定长度的摘要信息。本文...
用java封装的MD5加密工具包,创建对象,传递要加密的字符串,即可返回32位大写的MD5加密后的字符串
标签中的"java md5加密工具类 java md5工具类 加盐 md5 java 工具类",表明了本文的主要关键词是Java、MD5、加密工具类、加盐等。 在部分内容中,我们可以看到Java语言中MD5加密工具类的实例代码,包括了公盐、私盐...
JavaMD5加密工具类 algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(s.getBytes("UTF-8")); byte[] messageDigest = algorithm.digest(); return messageDigest;
java中常用的工具类,用于MD5的加密,里面还有切割了MD5加密的长度,有DES加密与解密,并且配有main函数可测试,可以根据自己的实际情况使用main函数测试使用
总的来说,这个“windows下MD5加密工具bat文件”提供了一种简单便捷的方式,在Windows环境中利用Java进行MD5加密。用户无需了解复杂的命令行语法,只需输入字符即可快速获取MD5值,这对于日常的文件校验或临时需求...
Java MD5加密工具案例,常用加密方式,提供MD5加密方法
加密工具类 包含md5加密 base加密解密 md5加密 aes加密解密 urlencoude
纯java代码编写的文件加密工具,采用MD5方式加密,一旦忘记密码不能恢复,请谨慎使用(作者不承担任何责任),本工具只做研究学习使用