안드로이드에 대한 적절한 사용 sqlcipher

 안드로이드 - 데이터베이스 sqlcipher 프레임이, android4 android9을 지원하는 SQLCipher 기반 데이터베이스 암호화는 종종 지금 음향 SQLiteOpenHelper와 함께 사용될 수있다, 당신은 androidx을 지원하려는 경우, 객실 프레임이 사용될 수 있으며, Gradle을 통합을 지원, 안드로이드 SqlLite를 암호화하는 데 사용 .

첫째, 귀하의 build.gradle에 종속성을 추가 :

구현 'net.zetetic : 안드로이드 - 데이터베이스 sqlcipher : 4.2.0'  
당신이 확인하려면 룸과 호환이 프로그램은 사용 GitHub의 페이지 참조 프레임을 androidx.

다음과 함께 사용하는 방법과 네이티브 API 있습니다 :

도 1은, 모든 변경 android.database.sqlite * 모든 net.sqlcipher.database *의 도입 예는 android.database.sqlite.SQLiteDatabase net.sqlcipher.database.SQLiteDatabase 변경;

2, SQLiteDatabase.loadLibs ()를 호출하기 응용 프로그램에서 OnCreate 방법, 매개 변수로 전달 애플리케이션 컨텍스트;

암호를 전달 SQLiteDatabase.g ()를 사용하는 경우 3, 당신은 데이터베이스 개체를 얻을, 문자열, 바이트 [], 암호로 []는 char 지원;

다음 페이지의 소개로 사용할 수있는 가이드입니다 https://www.zetetic.net/sqlcipher/sqlcipher-for-android/은

 

다음은 사용 중에 발생할 수있는 문제에 대해 이야기하기

  •  위한 SQLiteDatabase mSQLiteDatabase = helper.getWritableDatabase (GlobalConst.DB_PASSWORD);  

가이드 페이지에서 onCreate 년에서 만든 데이터베이스 개체가 있지만이 코드의 실제 구현은 기본 Caton의 사용과는 달리, 일반적으로 약 0.8S-1.5S, 매우 심각하게 소요 있지만 빠른 아니다, 유지하는 것이 좋습니다 글로벌 싱글 핸들, 당신은 비동기 로딩 페이지를 시작 전역 변수 또는 비동기 작업을 사용하는 경우는 DB 객체를 얻기 위해 필요한 모든 시간의 응용 프로그램에 대한 데이터베이스 개체를로드 할 수있는 응용 프로그램을 설정할 수 있으며, 동시에, 싱글 톤 패턴을 사용하는 경우 각 있도록 DB 객체 데이터베이스 작업은 더 이상 동일한 스레드, 비동기 동작하여 모든 데이터 조작 권장하지 않습니다.

  • 암호는 올바르지 만은 DBHelper에서 상속 하나를 사용하여 유사한 개체의 번호가있는 경우 열려 있지 않은 데이터는 암호화 키는 작동 중 이러한 클래스를 병합하거나 데이터베이스를 분리 할 수 ​​없습니다 또한 동일

추천

출처www.cnblogs.com/yjpjy/p/11359595.html