怎样用java获取到文件的hash值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用java获取到文件的hash值?相关的知识,希望对你有一定的参考价值。

参考技术A 格式:FileHash(FileName,Type_)
FileName:要获取Hash值的文件名
Type_:获取对应的Hash值.1、表示MD5;2、SHA1;3、SHA256;4、SHA384;5、SHA512;6、RIPEMD160
请参考:http://blog.163.com/shikang999@126/blog/static/17262489620130721423811/追问

这不是java啊?

参考技术B 你先读取整个文件。然后做一个hash不就好了?追问

大神你有什么例子吗?

追答

public static byte[] createChecksum(String filename) throws Exception
InputStream fis = new FileInputStream(filename); //将流类型字符串转换为String类型字符串

byte[] buffer = new byte[1024];
MessageDigest complete = MessageDigest.getInstance("MD5"); //如果想使用SHA-1或SHA-256,则传入SHA-1,SHA-256
int numRead;

do
numRead = fis.read(buffer); //从文件读到buffer,最多装满buffer
if (numRead > 0)
complete.update(buffer, 0, numRead); //用读到的字节进行MD5的计算,第二个参数是偏移量

while (numRead != -1);

fis.close();
return complete.digest();


public static String getMD5Checksum(String filename) throws Exception
byte[] b = createChecksum(filename);
String result = "";

for (int i=0; i < b.length; i++)
result += Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring(1);//加0x100是因为有的b[i]的十六进制只有1位

return result;

本回答被提问者和网友采纳

java记录

仅做个人记录使用

1、一个object对象有对应的hashCode值,重写了toString方法如何知道hashCode值?

object原生的toString()方法:返回单前对象的类名及hash值。相当于getClass().getName() + ‘@‘ + Integer.toHexString(hashCode())
当子类重写了toString()方法后可以用hashCode()方法获取到hash值。
hashCode()根据对象的字段值等进行计算。
java中利用对象的hashCode值来配合一些散列集合HashMap等(判断对象存在)。

2、java数组定义,数组长度不可变?

java中定义数组在定义时可以不标注长度,如int[] array,但在初始化数组的时候必须给定数组长度,且该数组长度不可改变,
定义长度不确定的数据集时采用集合:list、map等实现。

3、@contoller在框架中的作用?

在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示。

常和@RequestMapping等注解一起使用,mvc模式中的controller层负责业务组合和跳转,具体实现逻辑在service层。

4、java只能继承一个类,但能实现多个接口?

在java中一个类只能继承(extends)一个父类,一个类却能实现(implents)多个接口。

接口与接口之间却能实现一个接口继承(extends)多个接口。

5、private修饰的属性,外部引用应该怎么使用?

实现该类的实例对象,调用该类中关于该属性的get和set方法。





以上是关于怎样用java获取到文件的hash值?的主要内容,如果未能解决你的问题,请参考以下文章

HashMap理解

HashMap理解

上传图片用图片文件的对象hash哈希值判断图片是否一样,避免重复提交相同的图片到服务器中

java记录

潇湘高考文件hash值校验失败是啥意思

潇湘单招报名hash校验值失败是啥意思