JAVA计算文件的MD5及SHA1等值
2014-05-15 10:49
573 查看
public class DigestUtil { /** * * @param file * @param algorithm 所请求算法的名称 for example: MD5, SHA1, SHA-256, SHA-384, SHA-512 etc. * @return */ public static String getFileMD5(File file,String algorithm) { if (!file.isFile()) { return null; } MessageDigest digest = null; FileInputStream in = null; byte buffer[] = new byte[1024]; int len; try { digest = MessageDigest.getInstance(algorithm); in = new FileInputStream(file); while ((len = in.read(buffer, 0, 1024)) != -1) { digest.update(buffer, 0, len); } in.close(); } catch (Exception e) { e.printStackTrace(); return null; } BigInteger bigInt = new BigInteger(1, digest.digest()); return bigInt.toString(16); } /** * 获取文件夹中文件的MD5值 * * @param dirFile * @param algorithm 所请求算法的名称 for example: MD5, SHA1, SHA-256, SHA-384, SHA-512 etc. * @param listChild 是否递归子目录中的文件 * @return */ public static Map<String, String> getDirMD5(File dirFile,String algorithm, boolean listChild) { if (!dirFile.isDirectory()) { return null; } // <filepath,algCode> Map<String, String> pathAlgMap = new HashMap<String, String>(); String algCode; File files[] = dirFile.listFiles(); for (int i = 0; i < files.length; i++) { File file = files[i]; if (file.isDirectory() && listChild) { pathAlgMap.putAll(getDirMD5(file, algorithm, listChild)); } else { algCode = getFileMD5(file, algorithm); if (algCode != null) { pathAlgMap.put(file.getPath(), algCode); } } } return pathAlgMap; } }
相关文章推荐
- Java计算字符串和文件的MD5与SHA1
- 用java计算文件MD5(文件hash)
- 【Python】计算文件MD5 和 SHA1
- js跟java计算文件MD5不一致问题
- 深度解析 Java 计算某个文件的 MD5 值的原理(附源码)
- 文件 MD5、SHA1、SHA256 计算
- Android计算文件的MD5和SHA1
- java 计算 文件 md5
- 小巧好用的哈希计算器,支持文件拖放,速度很快,可以计算文件的 MD5、SHA1、CRC32 的值。
- 如何计算文件MD5 sha1 -- 微软MD5/SHA1 校验工具 Microsoft File Checksum Integrity Verifier
- java 实现字符串以及文件的md5、sha计算完整代码
- java获取大文件的MD5、SHA1,CRC32码
- java使用计算md5校验码方式比较两个文件是否相同
- java计算过G文件md5 值计算
- linux计算文件的MD5 与 SHA1
- java使用计算md5校验码方式比较两个文件是否相同
- 新颖网络文件MD5计算插件开发文档
- 实验: 写个计算文件SHA1的工具
- 个人代码库のC#计算MD5和SHA1
- Solaris下查看文件的md5,sha1和crc值