获取文件或字符串MD5值
来源:互联网 发布:数据变换的意义 编辑:程序博客网 时间:2024/06/05 13:29
package tool.component;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.EOFException;import java.io.File;import java.io.FileInputStream;import java.security.MessageDigest;public class DigestMD5 {private static DigestMD5 instance = null;public static DigestMD5 getInstance(){if (instance == null){instance = new DigestMD5();}return instance;}private DigestMD5(){}public String getMD5Str(String str) throws Exception{MessageDigest md = null;md = MessageDigest.getInstance("MD5");md.reset();md.update(str.getBytes("UTF-8"));byte[] byteArray = md.digest();return this.bytesToHexString(byteArray);}public String getMD5File(File file) throws Exception{if (!file.exists()){throw new Exception("file not found");}else if (file.isDirectory()){throw new Exception("file is directory");}DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream(file)));MessageDigest md = MessageDigest.getInstance("MD5");md.reset();try {byte[] b = new byte[64];int len;while((len = in.read(b)) == 64){md.update(b);}if (len > 0){byte[] tail = new byte[len];for (int i=0;i<len;i++){tail[i] = b[i];}md.update(tail);}} catch (Exception e) {// TODO Auto-generated catch block} finally {in.close();}byte[] byteArray = md.digest();return this.bytesToHexString(byteArray);}private String bytesToHexString(byte[] byteArray){StringBuffer md5StrBuff = new StringBuffer();for (int i = 0; i < byteArray.length; i++){if (Integer.toHexString(0xFF & byteArray[i]).length() == 1){md5StrBuff.append("0").append(Integer.toHexString(0xFF & byteArray[i]));}else{md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i]));}}return md5StrBuff.toString();}}
调用方法:
System.out.println(DigestMD5.getInstance().getMD5Str("i love you"));System.out.println(DigestMD5.getInstance().getMD5File(new File("D:\\testmd5.iso")));
- 获取文件或字符串MD5值
- java 获取字符串或文件的md5值
- MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- 加密:Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- Java利用MessageDigest获取字符串或文件MD5详解
- C#获取文件MD5值或者字符串MD5值方法
- Linux/shell下算字符串或文件的MD5值
- MD5工具类,提供字符串MD5加密(校验)、文件MD5值获取(校验)功能
- MD5工具类,提供字符串MD5加密(校验)、文件MD5值获取(校验)功能
- 获取文件md5值
- 获取文件md5值
- wcstombs_s 宽字节转多字节
- (翻译)Android属性系统
- Flash AS3.0 爽快使用XML
- init 中的命令列表
- android UI事件
- 获取文件或字符串MD5值
- 苹果明年将发布电视机 可用Siri操控
- 学计算机的你伤不起啊(转)
- PHP获得目录列表和文件列表
- Android ListView例子详解
- 遥感基础讲座
- activity之间参数传递
- 内存分配详解、指针与数组[C++][内存管理]
- MyEclilpse自带关键字搜索工具