怎样用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值?的主要内容,如果未能解决你的问题,请参考以下文章