sqlite .net 공급자 (System.Data.SQLite)의 기본 제공 암호화를 사용할 수 있습니다. 자세한 내용은 http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx 를 참조하십시오.
암호화되지 않은 기존 데이터베이스 를 암호화 하거나 암호화 된 데이터베이스의 비밀번호를 변경하려면 데이터베이스 를 연 다음 SQLiteConnection의 ChangePassword () 함수를 사용합니다.
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cnn.ChangePassword("mypassword");
또는 암호를 사용 하여 기존의 암호화 된 데이터베이스 호출 을 해독 하려면 :ChangePassword()
NULL
""
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3;Password=mypassword");
cnn.Open();
cnn.ChangePassword(null);
기존의 암호화 된 데이터베이스를 열거 나 새 암호화 된 데이터베이스를 만들려면 ConnectionString
이전 예에 표시된대로에 암호를 지정 하거나 SetPassword()
새 SQLiteConnection
. 에 지정된 암호 ConnectionString
는 일반 텍스트 여야하지만 SetPassword()
함수에 제공된 암호 는 이진 바이트 배열 일 수 있습니다.
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.SetPassword(new byte[] { 0xFF, 0xEE, 0xDD, 0x10, 0x20, 0x30 });
cnn.Open();
기본적으로 ATTACH 키워드는 다른 데이터베이스 파일을 기존 연결에 연결할 때 기본 데이터베이스와 동일한 암호화 키를 사용합니다. 이 동작을 변경하려면 다음과 같이 KEY 수정자를 사용합니다.
일반 텍스트 암호를 사용하여 암호화 된 데이터베이스를 연결하는 경우 :
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY 'mypassword'", cnn);
cmd.ExecuteNonQuery();
이진 암호를 사용하여 암호화 된 데이터베이스를 연결하려면 :
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test.db3");
cnn.Open();
cmd = new SQLiteCommand("ATTACH DATABASE 'c:\\pwd.db3' AS [Protected] KEY X'FFEEDD102030'", cnn);
cmd.ExecuteNonQuery();