有些对安全要求比较高的应用,需要和服务器做MD5的校验,这里提供Android获取本应用的MD5值的方法

/** * 获取应用MD5 * @author YOLANDA * @param context * @return */public static String getAPKMD5(Context context) {String md5 = "";String path = context.getApplicationContext().getPackageResourcePath();File file = new File(path);try {md5 = StringUtil.getFileMD5String(file);} catch (Exception e) {e.printStackTrace();}return md5;}

/** * 获取文件MD5 * @author YOLANDA * @param file * @return * @throws Exception */public static String getFileMD5String(File file) throws Exception {InputStream fis;MessageDigest messagedigest = MessageDigest.getInstance("MD5");fis = new FileInputStream(file);byte[] buffer = new byte[1024];int numRead = 0;while ((numRead = fis.read(buffer)) > 0) {messagedigest.update(buffer, 0, numRead);}fis.close();return byte2Hex(messagedigest.digest());}

/** * byte[]转Hex字符串 * @author YOLANDA * @param b * @return */public static String byte2Hex(byte[] b) {if (null == b)return null;StringBuffer sBuffer = new StringBuffer();String sTmep;for (int i = 0; i < b.length; i++) {sTmep = Integer.toHexString(b[i] & 0xFF);if (sTmep.length() == 1)sBuffer.append("0");sBuffer.append(sTmep.toUpperCase(Locale.getDefault()));}return sBuffer.toString();}
String转hex 16进制,hex16进制转String可以去看我另一片博文: http://blog.csdn.net/yanzhenjie1003/article/details/44887649

byte转hex16进制,hex16进制转byte去看:http://blog.csdn.net/yanzhenjie1003/article/details/44887621

int转hex 16进制,hex 16进制转int看:http://blog.csdn.net/yanzhenjie1003/article/details/44886931

更多相关文章

  1. 万字长文带你了解最常用的开源 Squid 代理服务器
  2. 一款常用的 Squid 日志分析工具
  3. 分支和循环(二)(零基础学习C语言)
  4. Nginx系列教程(一)| 手把手教你在Linux环境下搭建Nginx服务
  5. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  6. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  7. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  8. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  9. eclipse下如何关联android-support-v4.jar源码

随机推荐

  1. Android对话框的高级设置《一》设置对话
  2. Android(安卓)WebView 上传文件支持全解
  3. Android默认系统声音/大小修改及配置
  4. Android 使用基于位置的服务(二)
  5. 内存优化之其他优化(容器数据遍历方案,arra
  6. Android(安卓)m6.0权限问题调用封装utils
  7. android的apk文件的xml提取
  8. Android底部tab与标题栏相结合
  9. 你还在把Java当成Android官方开发语言吗?K
  10. Android中的帧动画与补间动画的使用