導航:首頁 > 編程語言 > java文件的md5值

java文件的md5值

發布時間:2024-12-20 04:58:01

java 獲取1G文件md5 要多久

我使用了部分取值的方式來提高MD5的計算速度,這樣的時候,時間主要耗費在了IO中。如果是100K(換成500K也並沒有提高執行的速度)取一個字元計算大約10秒以內。但是如果全部讀取可能要60秒或者更多。對於大文件建議使用一些文件相關信息和部分文件內容做MD5.比如用文件長度和一定間隔取一些位元組。

❷ java文件md5值 什麼意思

MD5是常用的一種加密方式,原數據加過加密演算法後的得到的數據就是MD5值

用戶的密碼很多是以MD5值(或類似的其它演算法)的方式保存的,這樣即使資料庫被侵入,也不能直接得到用戶的原始密碼

❸ java多個文件怎麼生成一個md5

這里定義了一些基本的變數與靜態對象,並指定採用的方式是「md5「,下張圖為定義了一個方法,方法的參數是接收一個文件File對象,並且返回該文件生成的」md5「值。

這里定義了一個轉化方法,把文件或文件流以位元組的方式進行轉換,使之生成唯一的md5,此方法間接的應用到了md5的生成中。

這里主要定義了一個根據提供的文件流輸入流InputStream進行生成md5的值,如上幾幅圖中的代碼加在一起就是完整的文件或文件流的md5值生成方法。

4
最後一張圖片為最終生成後的效果,文件上傳的時候可以先生成md5的值後到資料庫中進行查找,如果找到了就說明相同的文件已經存在,那麼就不應該再保存了,否則會出現相同的冗餘文件。

❹ Java,如何獲取文件的MD5值

package cdm;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import org.apache.commons.codec.digest.*;
import org.apache.commons.io.IOUtils;
public class testMD5 {

public static String getMd5ByFile(File file) throws FileNotFoundException {
String value = null;
FileInputStream in = new FileInputStream(file);
try {
MappedByteBuffer byteBuffer = in.getChannel().map(FileChannel.MapMode.READ_ONLY, 0, file.length());
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(byteBuffer);
BigInteger bi = new BigInteger(1, md5.digest());
value = bi.toString(16);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(null != in) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return value;
}

public static void main(String[] args) throws IOException {

String path="E:\文件.zip";

String v = getMd5ByFile(new File(path));
System.out.println("MD5:"+v.toUpperCase());

FileInputStream fis= new FileInputStream(path);
String md5 = DigestUtils.md5Hex(IOUtils.toByteArray(fis));
IOUtils.closeQuietly(fis);
System.out.println("MD5:"+md5);

//System.out.println("MD5:"+DigestUtils.md5Hex("WANGQIUYUN"));
}
}

❺ java 算文件的MD5值是怎麼用十六進製表示的

&這個是位運算「且」

sb.append(hexChar[(b[i] & 0xf0) >>> 4]);
//(b[i] & 0xf0)這個意思就是取b[i]的後4位
「>>> 無符號右移」

sb.append(hexChar[b[i] & 0x0f]);
//這個意思就是取b[i]的前4位

閱讀全文

與java文件的md5值相關的資料

熱點內容
購買軟體能加密嗎 瀏覽:3
發泡pdf 瀏覽:59
伺服器雙網卡綁定交換機如何配置 瀏覽:444
java靜態方法的重寫 瀏覽:938
哪裡有超全的漫畫app 瀏覽:924
基於單片機的全自動洗衣機控制系統 瀏覽:462
單片機點陣視頻教程 瀏覽:982
壓縮面膜怎麼選擇 瀏覽:807
基於命令的標准acl配置實例 瀏覽:76
第一現場車機怎麼下載其他app 瀏覽:906
中興路由3s命令 瀏覽:81
為什麼顯示加密模塊未打開 瀏覽:143
DES指的是對稱加密技術 瀏覽:264
開封哪裡有短視頻app平台 瀏覽:827
iphone緩存app里的電影在哪裡 瀏覽:976
純色文件夾怎麼創建 瀏覽:1
python如何遠程伺服器 瀏覽:409
怎麼把伺服器設置成高匿 瀏覽:144
最新的眾泰app在哪裡下載 瀏覽:859
程序員新加坡 瀏覽:171