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加密示例,包括页面,servlet和加密工具类
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加密工具包,创建对象,传递要加密的字符串,即可返回32位大写的MD5加密后的字符串
java的MD5加密工具类
java中常用的工具类,用于MD5的加密,里面还有切割了MD5加密的长度,有DES加密与解密,并且配有main函数可测试,可以根据自己的实际情况使用main函数测试使用
Java MD5加密工具案例,常用加密方式,提供MD5加密方法
加密工具类 包含md5加密 base加密解密 md5加密 aes加密解密 urlencoude
纯java代码编写的文件加密工具,采用MD5方式加密,一旦忘记密码不能恢复,请谨慎使用(作者不承担任何责任),本工具只做研究学习使用
md5的长度,默认为128bit,也就是128个 0和1的 二进制串,128/4 = 32 换成 16进制 表示后,为32位了。可以生成md5,也可以生成数据库相关内容MD5 。需要传入的值,类中有详细说明。
JavaMD5加密工具类 algorithm = MessageDigest.getInstance("MD5"); algorithm.reset(); algorithm.update(s.getBytes("UTF-8")); byte[] messageDigest = algorithm.digest(); return messageDigest;
最为流行的md5算法加密,适用于java入门新手学习,可选择调用工具类。
java中的一个MD5 加密的工具类
将md5加密制作成了windows下bat执行文件,可循环执行不同字符加密,输入quit可退出加密界面,附源码。