在linux下,大家常使用md5算法对文件进行签名。
平时在程序中也时常需要对文件进行md5签名,代码如下
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Hex;
/**
* 2012-9-10 tracy.liuy
*/
public class MD5Util {
public static String getDigest(InputStream is, MessageDigest md, int byteArraySize)
throws NoSuchAlgorithmException,
IOException {
md.reset();
byte[] bytes = new byte[byteArraySize];
int numBytes;
while ((numBytes = is.read(bytes)) != -1) {
md.update(bytes, 0, numBytes);
}
byte[] digest = md.digest();
String result = new String(Hex.encodeHex(digest));
return result;
}
}
调用代码如下:
MessageDigest md = MessageDigest.getInstance("MD5");
String digest = MD5Util.getDigest(new FileInputStream(httpFile), md, 2048);
分享到:
2012-09-10 20:51
浏览 11603
评论