【问题标题】:Decrypting data in content provider在内容提供者中解密数据
【发布时间】:2012-07-29 20:54:02
【问题描述】:

我有一个实现 openFile() 以返回大数据 BLOB 的内容提供程序。这些是 SD 卡上的加密文件。我(显然)需要在从内容提供者出来的路上解密数据,以便消费者可以使用。

问题是openFile() 返回一个ParcelFileDescriptor,这让我没有机会在出路时解密数据。有什么解决办法吗?

这当然引出了一个问题……如果我通过内容提供商打开数据,那么加密它的意义何在?我想我的回答是,SD 卡上的数据未加密比通过内容提供商公开数据要差一些。

【问题讨论】:

    标签: android security encryption android-contentprovider


    【解决方案1】:

    没有明显的方法可以解决这个问题。我最终创建了一个临时文件,该文件在一段时间后被删除。

    我的第一次尝试是使用 Unix 在打开文件后删除文件的技巧,导致文件在被阅读器关​​闭后立即被删除。事实证明,许多应用程序会从内容提供程序读取和重新读取数据以进行单个逻辑打开。例如,图库应用似乎首先以低分辨率读取数据,以便快速显示,然后再次读取以全分辨率显示。

    【讨论】:

    • 如果您的内容需要保持加密状态,简单地取消文件链接不会清除驱动器中的字节。以后可以使用转储未引用扇区的文件系统工具取消删除它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    相关资源
    最近更新 更多