2009-10-01 1 views
2

저는 Core Data를 SQLite 데이터 저장소와 함께 사용하고 많은 이미지를 리소스 번들에 사용하는 iphone 앱을 개발하고 있습니다. 나는 캐주얼 해커/부도덕 한 개발자가 그들에게 접근하는 것을 막기 위해 SQLite 데이터베이스의 파일 구조와 이미지 파일을 난독 화하는 "간단한"방법을 원합니다. 응용 프로그램을 배포하면 데이터베이스 파일과 이미지 파일이 난독 화됩니다. 응용 프로그램을 시작하면 데이터베이스 파일을 읽고 난독 화하고 핵심 데이터가 사용할 수 있도록 사용자 "tmp"디렉토리에 모호하지 않은 버전을 작성하고 필요에 따라 이미지 파일을 읽거나 취소 할 수 있습니다.Archiver iPhone에서 암호화를 사용하지 않고 SQLite 데이터 보안

어떻게 든 스크램블/파일 데이터를 조작하는 파일에 간단한 알고리즘을 적용하여 db가 텍스트 편집기에서 열리고 어느 것도 인식되지 않을 때 sqlite 데이터베이스 데이터를 식별 할 수 없도록하고 싶습니다. (SQLite Manager, Photoshop 등)

내가 읽은 정보에서이 작업을 수행하기 위해 NSFileManager, NSKeyedArchiver 및 NSData를 사용할 수 있지만 진행 방법이 확실하지 않은 것처럼 보입니다. 수년간 소프트웨어를 개발해 왔지만 CocoaTouch, Mac 및 iPhone에 이르기까지 모든 것을 처음 접했습니다. 또한 데이터를 보호/암호화 할 필요가 없어 새로운 방식입니다.

모든 의견, 제안 또는 솔루션 링크가 제공됩니다.

답변

4

gzip을 사용하여 파일을 압축 할 수 있습니다. 확장을 제거하고 파일의 헤더를 제거하면 gzip으로 압축 된 데이터베이스를 얻은 사람이 암호화하지 않는 방법을 추측하기가 상당히 어려울 것입니다.

다시 읽으려면 gzip 헤더를 미리 펜하고 압축을 풉니 다. gzip은 iPhone에서 사용할 수 있습니다.

+0

좋은 접근 방식과 비슷합니다. DB는 앱 실행 당 한 번만 해독하면되고 gzip은 내 1MB 데이터베이스에서 상당히 빠릅니다. jpg의 경우, 런타임에 다시 적용하는 것이 빠를 수있는 방식으로 헤더를 제거하거나 스크램블 할 수 있다고 생각합니다. 전에 파일의 헤더 나 구조를 망쳐 놓은 적이 없기 때문에 다음과 같이 배웁니다. 의견을 보내 주셔서 감사합니다. – Redrocks

+0

Redrocks가 나와 더 자세한 정보를 공유 할 수 있습니까? [email protected] 감사합니다. – fyasar