什么是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 <= 0) {

return null;

}

for (int i = 0; i < src.length; i++) {

int v = src[i] & 0xFF;

String hv = Integer.toHexString(v);

if (hv.length() < 2) {

stringBuilder.append(0);

}

stringBuilder.append(hv);

}

return stringBuilder.toString();

}

android黑窗口获取md5_Android获取文件的MD5相关推荐

  1. Spring Boot——获取上传文件的MD5值解决方案

    解决方案 方法一: /*** 上传文件* @param file 文件* @return ResponseBean*/@ApiOperation(value = "上传文件",no ...

  2. php怎么读取上传文件的md5,利用PHP怎么获取远程http文件的md5值

    利用PHP怎么获取远程http文件的md5值 发布时间:2021-02-05 18:10:04 来源:亿速云 阅读:61 作者:Leah 本篇文章给大家分享的是有关利用PHP怎么获取远程http文件的 ...

  3. php怎么读取上传文件的md5,PHP获取上传文件的md5码_PHP教程

    由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的方法. if(isset($_FILES['multimedia']) && $_FILE ...

  4. php获取上传文件的字节,PHP获取上传文件的md5码

    原文:http://www.nowamagic.net/librarys/veda/detail/938 由于需要判断上传的文件是否被修改过,需要记录上传文件的md5值,这里记录一下获取文件md5值的 ...

  5. 获取Android签名打包keystore或者.jks文件的MD5

    Android开发,经常会调用第三方,例如在申请第三方的时候,经常会用到MD5等信息,下面是从一个签名打包的key文件里面去获取这些信息. 打开cmd或终端,找到对应的key签名文件,然后输入keyt ...

  6. linux获取文件的md5,linux shell 获取文件md5的命令linux操作系统 -电脑资料

    下面我给各位朋友总结一下在linux中利用shell命令来获取文件md5及遍历目录下所有文件的md5的例子,希望此例子对各位同学会有所帮助, 获取文件的MD5值: $ md5sum linuxmint ...

  7. 黑窗口下安装MySQL数据库

    黑窗口下安装MySQL数据库(这篇是黑窗口下安装并配置mysql的过程以及可能会出现的问题和解决的方法) 博主小G我安装了几次mysql之后被折磨的晕头转向,最近太忙一直没有时间记下来,以至于在同一个 ...

  8. 操作SD卡,获取文件目录及文件工具类Android,listView

    操作SD卡,获取文件目录及文件工具类Android 1.获取文件目录及文件工具类: DirectoryInfo  FileScan 1.1 DirectoryInfo: package com.gls ...

  9. Android获取网络视频文件缩略图

    一,通过Android系统自带的类获取: 1.  public staticBitmapcreateVideoThumbnail(String filePath,int kind){     Bitm ...

最新文章

  1. springcloud的fallback与fallbackFactory
  2. 【Git、GitHub、GitLab】十 将git仓库备份到本地
  3. 创新小组 实战Git团队企操作手册_精华版本
  4. 使用hexo创建blog
  5. 计算机视觉识别简史:从 AlexNet、ResNet 到 Mask RCNN
  6. 又拍云,音视频CDN加速利器
  7. 剑指offer面试题[59]-对称的二叉树
  8. C++程序设计基础(5)sizeof的使用
  9. 数据科学家应该掌握的12种机器学习算法(附信息图)
  10. 与速度对偶的角速度系公式
  11. 管家婆软件二次开发(在管家婆财贸双全中实现建行支付)
  12. C/C++编程笔记:指针篇!从内存理解指针,让你完全搞懂指针
  13. 装卸码头设备市场深度分析及发展研究预测报告
  14. Java笔记16 网络编程
  15. 纯CSS实现瀑布流布局
  16. Beanshell解析json-解析简单复杂json数据
  17. C# GDI 手绘图片转化为电子版处理
  18. 开发中国最好的视频推荐系统
  19. 设计模式17-门面模式
  20. 虚拟服务器 dmz区别,dmz主机和虚拟服务器区别(tp路由器虚拟服务器能干嘛)...

热门文章

  1. MySQL 数据库常用存储引擎的特点
  2. cxf整合spring错误为:cvc-complex-type.2.4.c
  3. Storm【实践系列-如何写一个爬虫】 - ParserBolt
  4. 企业信息管理- 近期功能改善(3)
  5. C# ie通过打印控件点打印,总是弹出另存为xps的对话框
  6. Druid 配置_DruidDataSource参考配置
  7. Spring MVC概述
  8. 地方门户网站运营策略
  9. idea使用MybatisCodeHelperPro逆向生成
  10. windows系统如何查看端口被占用、杀进程