[Android]使用checksum校验文件是否被修改
2017-06-27 16:25
375 查看
FileUtils类中封装了用于获取文件32位校验码的方法:
在TelephonyProvider中就有应用到次方法来校验apns-conf.xml是否被修改,判断apn数据表是否需要更新:
//frameworks/base/core/java/android/os/FileUtils.java public static long checksumCrc32(File file) throws FileNotFoundException, IOException { CRC32 checkSummer = new CRC32(); CheckedInputStream cis = null; try { cis = new CheckedInputStream( new FileInputStream(file), checkSummer); byte[] buf = new byte[128]; while(cis.read(buf) >= 0) { // Just read for checksum to get calculated. } return checkSummer.getValue(); } finally { if (cis != null) { try { cis.close(); } catch (IOException e) { } } } }
在TelephonyProvider中就有应用到次方法来校验apns-conf.xml是否被修改,判断apn数据表是否需要更新:
private boolean apnDbUpdateNeeded() { File confFile = getApnConfFile(); long newChecksum = getChecksum(confFile);//计算当次的checksum long oldChecksum = getApnConfChecksum();//从历史记录中获取上一次的checksum if (newChecksum == oldChecksum) {//对比2次 return false;//文件没有被修改 } else { return true;//文件已被修改 } }
相关文章推荐
- Android 如何使用layoutopt检验布局文件是否合理
- Android - 使用SharedPreference判断字符串是否修改
- 如何使用Android Studio打开一个App项目,导入Android App项目需要修改哪些配置文件?
- Android 如何使用layoutopt检验布局文件是否合理
- Android下使用chcon修改文件的安全上下文(file_contexts)
- java使用计算md5校验码方式比较两个文件是否相同
- Android使用eclipse开发时修改默认keystore签名文件
- Windows证书的生成导出以及使用证书验证文件是否被修改
- Android-自定義控件使用(方便修改控件的風格,只修改布局文件)
- 【Android数据加密与完整性校验之使用MessageDigest类进行MD5/SHA1】MessageDigest类对文件或字符串生成加密摘要进行完整性校验(三)
- Android 如何使用layoutopt检验布局文件是否合理
- java使用计算md5校验码方式比较两个文件是否相同
- 使用make编译android项目时,修改了文件xml文件名称,导致编译出错的问题原因
- Android使用eclipse开发时修改默认keystore签名文件
- Android使用adb命令直接修改文件
- MD5 使用 md5sum hash 校验文件完整性与是否被篡改
- [置顶] android反编译-修改别人apk(如何无视R文件,使用新增布局xml drawable等)
- [转载]使用SHA1来校验cocos2dx存储的数据是否被修改
- 【Android数据加密与完整性校验之使用MessageDigest类进行MD5/SHA1】MessageDigest类对文件或字符串生成加密摘要进行完整性校验(一)
- 【layoutopt】Android 如何使用layoutopt检验布局文件是否合理