Android应用计算自己的MD5校验和

时间:2012-12-18 06:39:06

标签: java android md5 checksum

安卓程序如何计算自己的md5校验和?尝试使用谷歌搜索,但所有结果都是关于另一个计算他人校验和的应用程序。

1 个答案:

答案 0 :(得分:9)

这有用吗?要与某些东西进行比较,预期的校验和需要在APK中。但如果有人更改了您的APK(重新包装等),他们也可以轻松更改预期值。你可以从服务器上获取它,但是如果它们弄乱了你的包,那么禁用它也不是很难。

此外,有些工具会直接在Dalvik缓存中修补代码,从而在不触及APK的情况下更改应用的功能。

通常,您只需获取APK的路径,读取为二进制文件并使用MessageDigest进行计算。您可以使用PackageManager获取应用信息,然后ApplicationInfo#sourceDir会为您提供套餐的位置信息。顺便说一句,这可能不适用于JB(4.1及更高版本)上的付费应用程序,因为您无权阅读实际的APK(这是​​“前向锁定”的结果,也称为“应用程序加密”)。