2012-05-21 6 views
0

내 응용 프로그램은 서버에서 응용 프로그램으로 파일을 다운로드합니다. 그 파일들이 많이있을 수 있습니다. 하나의 파일은 약 100MB입니다. 내 앱에 안전하게 보관하려면 무언가를해야합니다.안드로이드 앱에 파일을 안전하게 보관하는 대안은 무엇입니까?

Thirst 나는 파일을 암호화하려고했습니다. 이것이 100MB 파일 (pdf 파일)을 암호화하고 암호 해독하기 때문에 시간이 좀 걸리는 이유는 이것이 나쁜 해결책입니다. 또한 나는이 파일을 읽을 시간이 필요해. 그래서이 시간에 읽을 수있는 다른 파일에 해독 된 파일을 해독하고 쓸 수 있어야한다. 또한 파일 크기로 인해이 파일을 메모리에 보관할 수 없습니다. 그래서 파일이 저장된 내부 저장소의 디렉토리를 암호화하는 방법이 있을까요? 또는이 디렉토리에있는 모든 파일을 암호화해야하므로 좋지 않습니다.

내 파일이 PDF이기 때문에 암호를 int로 지정할 수 있지만 어떻게해야합니까? 또한 장치가 뿌리가 있는지 여부를 확인하려고 할 수도 있지만 누군가가 해결 방법을 찾을 것이라고 생각합니다.

그럼 뭐라고 제안 하시겠습니까?

감사합니다.

+0

암호화를 통해 무엇을 달성하려고합니까? PDF는 일반적으로 편집 할 수 없으므로 데이터 일관성에 대해 걱정할 필요가 없습니다. 나는 당신이 어떤 단계에서 pdfs를 보여주고 있다고 가정하기 때문에 프라이버시가 당신의 관심사 인지도 확신 할 수 없다. –

+0

나는 그 사용자가 다른 장치 또는 pc에 복사 할 수있는 것을 원하지 않는다. 그는 – Streetboy

답변

0

3 가지 옵션이있는 것으로 보입니다. 데이터를 암호화하는 것 같습니다. 개인 폴더에 pdfs를 저장하는 것. 또는 장치에 파일을 저장하지 않을 수 있습니다.

1) 데이터 암호화 : 앞에서 말했듯이 pdfs는 크기가 커서 메모리에 저장할 수없는 경우 단점이 있습니다. 이전에 파일에 해독 한 파일을 기록해야합니다. 그들을 표시하기 때문에 이것은 당신의 문제를 정말로 해결하지 못합니다.

2) 개인 폴더에 저장 : 또는 앱을 통해서만 액세스 할 수있는 개인 폴더에 pdfs를 저장할 수 있습니다. 이것은

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 

(here)으로 할 수 있습니다. "MODE_PRIVATE은 파일을 만들거나 같은 이름의 파일을 바꿔 응용 프로그램에 비공개로 만듭니다." 내가보기에 유일한 문제는 사람들이 뿌리깊은 휴대폰을 사용하고 있으며 앱의 개인 폴더에 액세스 할 수 있는지 여부입니다. 이 문제를 해결할 수있는 유일한 방법은 옵션 3을 사용하는 것입니다.

3) 장치에 파일을 저장하지 마십시오. 매번 데이터 또는 그 일부를 다운로드 할 수 있습니다. 이렇게하면 사람들이 파일을 복사 할 수 없으므로 파일을 복사 할 수 없습니다. 원할 경우 Google 문서 도구를 사용하여 문서의 일부만 스트리밍하여 다운로드 요구 사항을 줄일 수 있습니다. 이 문제는 거대한 데이터 요구 사항입니다.

나는 장단점을 달아서 어떤 것이 당신에게 가장 적합한 지 결정해야한다고 생각합니다. 개인적으로 옵션 2를 사용할 것입니다. 모든 문제를 해결할 솔루션을 찾을 수있을 것 같지 않습니다.

+0

을 읽을 수있다. 지금까지 개인 폴더에 pdf를 저장했다. 어쩌면 장치가 뿌리를두고 있는지 여부를 확인할 수 있습니다. – Streetboy

+0

사람들이 파일을 가져 오는 것이 얼마나 심각한가? 사람들이 정말로 원한다면 사람들이 파일을 복사하는 것을 막을 수는 없습니다. 그들은 정말로 원하는 경우 파일을 다운로드하고 자신을 저장할 때 HTTP 패킷을 스니핑 할 수 있습니다. 위험과 노력의 균형을 유지해야합니다. 기기가 뿌리깊은 것인지 아닌지를 감지 할 수 있는지 확신 할 수 없지만 사람들이 파일을 잘못 만들길 원한다면 기기를 얻을 수 있습니다. –

+0

글쎄, 서버와 통신 할 때 인증서를 사용하기 때문에 안전합니다. 글쎄, 난 그냥이 솔루션을 볼 PDF로 암호를 넣어 아이디어가있다. 귀하의 답변을 수락 해 주셔서 감사합니다. 이것은 유용합니다. – Streetboy

관련 문제