java实现md5签名
在linux下,大家常使用md5算法对文件进行签名。
对于md5sum 命令的说明 参考链接?http://baike.baidu.com/view/1919192.htm
?
平时在程序中也时常需要对文件进行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);?