获取文件的MD5值
Posted 北极丶光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取文件的MD5值相关的知识,希望对你有一定的参考价值。
public void getMd5OfFile() {
//这是从mongodb获取的文件流 //DBObject dbObject = new BasicDBObject("filename","yansebuyiyangdeyanhuo5"); //DB db = mongoTemplate.getDb(); //GridFS fs = new GridFS(db,"myfiles"); //GridFSDBFile gridFSDBFile = fs.findOne(dbObject); //InputStream in = gridFSDBFile.getInputStream();
String filePath = "文件路径";
InputStream is = null;
try{ in = new FileInputStram(new File(filePath)); MessageDigest messageDigest = MessageDigest.getInstance("MD5"); byte[] bytes = new byte[1024]; int byteCount = 0; while ((byteCount = in.read(bytes)) !=-1) { messageDigest.update(bytes, 0, byteCount); } byte[] digest = messageDigest.digest(); // byte -128 ---- 127 StringBuffer sb = new StringBuffer(); for (byte b : digest) { int a = b & 0xff; // Log.d(TAG, "" + a); String hex = Integer.toHexString(a); if (hex.length() == 1) { hex = 0 + hex; } sb.append(hex); } System.err.println("MD5值为:================================"+sb.toString()); } catch (Exception e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } in = null; } } }
//获取字符串的md5值
public void getMd5ofString( ){ String text = "AABJRU5ErkJggg=="; try { MessageDigest messageDigest = MessageDigest.getInstance("md5"); byte[] buffer = messageDigest.digest(text.getBytes()); // byte -128 ---- 127 StringBuffer sb = new StringBuffer(); for (byte b : buffer) { int a = b & 0xff; String hex = Integer.toHexString(a); if (hex.length() == 1) { hex = 0 + hex; } sb.append(hex); } System.err.println("MD5值为:================================"+sb.toString()); } catch (NoSuchAlgorithmException e) { } }
以上是关于获取文件的MD5值的主要内容,如果未能解决你的问题,请参考以下文章