获取APK的签名MD5值
来源:互联网 发布:动态网络中的线粒体 编辑:程序博客网 时间:2024/04/29 19:38
近日在360平台上架app,安全等级居然是0分,代码已经混淆了。看到有一项是防止二次打包,于是网上搜,有一篇文章:Android APP如何防止二次打包揭秘
不过最后没有和MD5值比较。下面是我结合网上的其他代码写的:
/** * 校验应用签名 * * @param context */ public static boolean checkSignInfo(Context context,String MD5) { try { PackageInfo packageInfo = context.getPackageManager() .getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES); Signature[] signs = packageInfo.signatures; Signature sign = signs[0]; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(sign.toByteArray()); byte[] digest = md.digest(); String res = toHexString(digest); if (MD5.equals(res)){ return true; } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return false; } /** * 转成十六进制 * @param b * @param buf */ private static void byte2hex(byte b, StringBuffer buf) { char[] hexChars = {'0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'A', 'B','C', 'D', 'E', 'F'}; int high = ((b & 0xf0) >> 4); int low = (b & 0x0f); buf.append(hexChars[high]); buf.append(hexChars[low]); } /** * 格式化MD5值 * @param block * @return */ private static String toHexString(byte[] block) { StringBuffer buf = new StringBuffer(); int len = block.length; for (int i = 0; i < len; i++) { byte2hex(block[i], buf); if (i < len - 1) { buf.append(":"); } } return buf.toString(); }
结果还是0分,无奈用360的加固,评分100。。。。。。
0 0
- 获取apk的签名MD5值
- 获取APK的签名MD5值
- 获取APK的信息 显示出MD5和SHA1签名。
- 获取apk签名 获取apk签名的hash值
- 获取Apk 的MD5值
- 已签名apk文件获取签名文件的MD5,签名信息
- jni中调用java方法获取当前apk的签名文件md5值
- 获取apk签名指纹的md5值 防止重新被打包
- 获取Android签名证书的MD5值
- 获取apk证书MD5值的方法
- 获取apk证书MD5值的方法
- 获取一个现存apk的MD5值
- 获取apk证书MD5值的方法
- 获取apk证书MD5值的方法
- 获取android应用签名证书(打包APK用到的那个文件)的SHA1,MD5,SHA256值
- 获取android应用签名证书(打包APK用到的那个文件)的SHA1,MD5,SHA256值
- 获取android应用签名证书(打包APK用到的那个文件)的SHA1,MD5,SHA256值
- 获取android应用签名证书(打包APK用到的那个文件)的SHA1,MD5,SHA256值
- AndroidManifest.xml文件解析
- Android系统之路(初识MTK) ------ 客制化开机LOGO跟开机动画/系统默认壁纸
- 开发基于高德SDK的Android车载导航应用
- App Store中关于idfa的选项都是什么意思?
- MYSQL数据库导入SQL文件出现乱码
- 获取APK的签名MD5值
- Android:ListView数据异步加载、Handler、AsyncTask
- FindBugs-AndroidStudio代码错误自动检查插件
- PHP判断客户端是PCweb端还是移动手机端方法
- C++11多线程(十二):《atomic 类型详解四:C 风格原子操作介绍》
- 通过bluestacks从google play获取apk安装包
- 我是如何构建一个持续发展的项目
- UITextView和UITextField退出键盘的方式
- $_SERVER['HTTP_HOST']