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) {
}
}