Android获取文件的MD5 | 您所在的位置:网站首页 › md5不对 › Android获取文件的MD5 |
什么是MD5
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。 文件MD5的应用场景(1)加密 (2)在下载更新APK的时候,与远程服务器的MD5进行匹配,如果下载下来新文件的MD5的与远程的MD5一致,说明下载过程中没有出现丢包。 如何获取文件的MD5 private void getFile(){ String path = Environment.getExternalStorageDirectory().getAbsolutePath(); Log.d("ATG", path); File file = new File(path+"/e8706cf83a2cda33dae5c40025922d75.apk"); String md5 = getFileMD5(file); Log.d("ATG", md5); } public static String getFileMD5(File file) { if (!file.isFile()) { return null; } MessageDigest digest = null; FileInputStream in = null; byte buffer[] = new byte[1024]; int len; try { digest = MessageDigest.getInstance("MD5"); in = new FileInputStream(file); while ((len = in.read(buffer, 0, 1024)) != -1) { digest.update(buffer, 0, len); } in.close(); } catch (Exception e) { e.printStackTrace(); return null; } return bytesToHexString(digest.digest()); } public static String bytesToHexString(byte[] src) { StringBuilder stringBuilder = new StringBuilder(""); if (src == null || src.length |
CopyRight 2018-2019 实验室设备网 版权所有 |