資源簡介
SHA1或MD5算法獲取文件摘要值(JAVA)
代碼片段和文件信息
import?java.io.InputStream;
import?java.security.DigestInputStream;
import?java.security.MessageDigest;
public?class?GetFileSHA1?{
/**
?*?獲取文件SHA1摘要值
?*?@param?fileInputStream
?*?@return
?*/
public?static?String?getSHA1(InputStream?fileInputStream){
//?緩沖區(qū)大小
????????int?bufferSize?=?256?*?1024;
????????DigestInputStream?digestInputStream?=?null;
????????try{
???????????//?拿到一個SHA1轉(zhuǎn)換器(這里可以換成MD5)
???????????MessageDigest?messageDigest?=MessageDigest.getInstance(“SHA1“);
???????????//?使用DigestInputStream
???????????digestInputStream?=?new?DigestInputStream(fileInputStreammessageDigest);
???????????//?read的過程中進行SHA1處理,直到讀完文件
???????????byte[]?buffer?=new?byte[bufferSize];
???????????while?(digestInputStream.read(buffer)?>?0);
???????????//?獲取最終的MessageDigest
???????????messageDigest=?digestInputStream.getMessageDigest();
???????????//?拿到結(jié)果,也是字節(jié)數(shù)組,包含16個元素
???????????byte[]?resultByteArray?=?messageDigest.digest();
???????????//?把字節(jié)數(shù)組轉(zhuǎn)換成字符串
???????????retur
評論
共有 條評論