2012-08-01 7 views
1

큰 데이터 BLOB를 반환하기 위해 openFile()을 구현하는 콘텐츠 제공 업체가 있습니다. 이 파일은 SD 카드의 암호화 된 파일입니다. i (분명히) 콘텐츠 제공 업체 외부로 데이터를 해독해야 소비자에게 유용합니다.android : 콘텐츠 공급자의 데이터 암호 해독

openFile()ParcelFileDescriptor을 반환합니다. 따라서 퇴장 할 때 데이터를 해독 할 기회가 없습니다. 이것에 대한 해결책이 있습니까?

물론이 질문을 던집니다. 내가 콘텐츠 제공 업체를 통해 데이터를 열어 본다면 암호화의 요지는 무엇입니까? 내 대답은 SD 카드에 데이터를 암호화하지 않고 보관하는 것이 콘텐츠 제공 업체를 통해 노출하는 것보다 약간 나빠질 것이라고 가정합니다.

이 주제에 대한 생각이나 아이디어는 높이 평가됩니다.

답변

0

내 대답에 ...

이 문제를 해결하는 확실한 방법은 없습니다. 나는 일정 기간 후에 삭제되는 임시 파일을 만드는 것을 끝내었다.

내 첫 시도는 파일을 열면 파일을 삭제하는 유닉스 트릭을 사용하여 파일을 독자가 닫은 직후 제거하게하는 것이었다. 많은 응용 프로그램이 단일 논리적 열기를 위해 콘텐츠 공급자의 데이터를 읽고 다시 읽는 것으로 나타났습니다. 예를 들어, 갤러리 응용 프로그램은 먼저 저해상도로 데이터를 읽은 다음 빠르게 표시하고 다시 전체 해상도로 표시 할 수 있습니다.

+0

콘텐츠를 암호화 된 상태로 유지해야하는 경우 파일을 연결 해제해도 드라이브에서 바이트가 제거되지 않습니다. 참조되지 않은 섹터를 덤프하는 파일 시스템 도구로 나중에 삭제 취소 할 수 있습니다. –