获取文件的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) { } }

猜你喜欢

转载自www.cnblogs.com/northern-light/p/8908429.html