文件管理 · 2024年2月8日

java文件内容md5|java多个文件怎么生成一个md5

A. java用md5密码加密有必要吗

md5加密是为抄了原信息的准确性,因为md5是不可逆加密。

有两个例子,比如

存在数据库中的密码,加密后就算被人看到也不知道原密码是什么,但是可以对输入的原密码加密,然后两者比较用于验证。

发布软件的时候同时发布md5码,防止恶意篡改原程序

B. java md5

import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class md5 { public String str; public void md5s(String plainText) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(plainText.getBytes()); byte b[] = md.digest(); int i; StringBuffer buf = new StringBuffer(""); for (int offset = 0; offset < b.length; offset++) { i = b[offset]; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } str = buf.toString(); System.out.println("result: " + buf.toString());// 32位的加密 System.out.println("result: " + buf.toString().substring(8, 24));// 16位的加密 } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String agrs[]) { md5 md51 = new md5(); md51.md5s("4");//加密4 }}

C. java 获取1G文件md5 要多久

Java获取1G文件的MD5值速度和写的java程序的算法以及运行java程序的机器配置有很大的关系,所需时间没法估算,下面是Java获取文件MD5的代码:

packagecdm;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.math.BigInteger;importjava.nio.MappedByteBuffer;importjava.nio.channels.FileChannel;importjava.security.MessageDigest;importorg.apache.commons.codec.digest.*;importorg.apache.commons.io.IOUtils;publicclasstestMD5{(Filefile)throwsFileNotFoundException{Stringvalue=null;FileInputStreamin=newFileInputStream(file);try{MappedByteBufferbyteBuffer=in.getChannel().map(FileChannel.MapMode.READ_ONLY,0,file.length());MessageDigestmd5=MessageDigest.getInstance("MD5");md5.update(byteBuffer);BigIntegerbi=newBigInteger(1,md5.digest());value=bi.toString(16);}catch(Exceptione){e.printStackTrace();}finally{if(null!=in){try{in.close();}catch(IOExceptione){e.printStackTrace();}}}returnvalue;}publicstaticvoidmain(String[]args)throwsIOException{Stringpath="E:文件.zip";Stringv=getMd5ByFile(newFile(path));System.out.println("MD5:"+v.toUpperCase());FileInputStreamfis=newFileInputStream(path);Stringmd5=DigestUtils.md5Hex(IOUtils.toByteArray(fis));IOUtils.closeQuietly(fis);System.out.println("MD5:"+md5);//System.out.println("MD5:"+DigestUtils.md5Hex("WANGQIUYUN"));}}

D. Java MD5如何解密

MD5 不能解密, MD5的破解方式就是 把不同的字符串按MD5加密 然后对比加密后的结果是不是一样. 在线MD5解密 也是这样的原理.

E. java文件md5值 什么意思

MD5是常用的一种加密方式,原数据加过加密算法后的得到的数据就是MD5值用户的密码很多是以MD5值(或类似的其它算法)的方式保存的,这样即使数据库被侵入,也不能直接得到用户的原始密码

F. 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"));}}

G. java多个文件怎么生成一个md5

这里定义了一些基本的变量与静态对象,并指定采用的方式是“md5“,下张图为定义了一个方法版,方权法的参数是接收一个文件File对象,并且返回该文件生成的”md5“值。这里定义了一个转化方法,把文件或文件流以字节的方式进行转换,使之生成唯一的md5,此方法间接的应用到了md5的生成中。这里主要定义了一个根据提供的文件流输入流InputStream进行生成md5的值,如上几幅图中的代码加在一起就是完整的文件或文件流的md5值生成方法。4最后一张图片为最终生成后的效果,文件上传的时候可以先生成md5的值后到数据库中进行查找,如果找到了就说明相同的文件已经存在,那么就不应该再保存了,否则会出现相同的冗余文件。