2012-08-01 57 views
1

我有一個內容提供者,它實現了openFile()來返回大數據BLOB。這些都是SD卡上的加密文件。我(顯然)需要在離開內容提供者的路上解密數據,所以它對消費者是可用的。android:解密內容提供者中的數據

問題是,openFile()返回一個ParcelFileDescriptor,這使我沒有機會解密數據的出路。有沒有解決這個問題的方法?

這當然會引起問題......如果我通過內容提供者打開數據,那麼對它進行加密有什麼意義?我想我的答案是,將SD卡上的數據解密是比通過內容提供商公開的稍差。

有關此主題的任何想法或想法,讚賞。

回答

0

回答我自己的問題...

沒有明顯的辦法來解決這個問題。我最終創建了一段時間後被刪除的臨時文件。

我的第一個嘗試是使用unix打開文件後刪除文件的技巧,導致文件在讀取器關閉後立即被刪除。事實證明,許多應用程序將讀取並重新讀取來自內容提供者的數據以進行單個邏輯打開。例如,圖庫應用程序似乎首先以低分辨率讀取數據,因此可以快速顯示數據,然後再次讀取以全分辨率顯示。

+0

如果您的內容需要保持加密,只需取消鏈接文件不會擦除驅動器中的字節。稍後可以使用轉儲未引用扇區的文件系統工具取消刪除它們。 – 2014-04-07 21:56:57

相關問題