标签:
在应用开发中往往需要将下载成功的文件进行MD5校验,就是获取一个文件的消息摘要,每个文件生成的摘要都是独一无二的,生成的消息摘要是128位(16个字节)的数据,一般都需要将他们转换成十六进制的字符串。将十进制数转换成十六进制可以使用Integer.toHexString(int num),只要低八位可以使用0xff & num就只会截取32位的整型数值的低八位。
测试程序:
MessageDigest degest = MessageDigest.getInstance("MD5"); FileInputStream inputStream=new FileInputStream("test.txt"); DigestInputStream dis=new DigestInputStream(inputStream, degest);//对于大文件或者网络文件使用输入流的形式要比字节数组方便很多也节省内存 StringBuffer strBuffer = new StringBuffer(); for (int i = 0; i < sumary.length; i++) { strBuffer.append(Integer.toHexString(0xff & sumary[i]));//只要整型数据的低八位 } System.out.println(strBuffer.toString());
标签:
原文地址:http://www.cnblogs.com/xushihai/p/4619589.html