คุณสามารถใช้การเข้ารหัสในตัวของผู้ให้บริการ sqlite .net (System.Data.SQLite) ดูรายละเอียดเพิ่มเติมได้ที่http://web.archive.org/web/20070813071554/http://sqlite.phxsoftware.com/forums/t/130.aspx
ในการเข้ารหัสฐานข้อมูลที่ไม่ได้เข้ารหัสที่มีอยู่หรือเปลี่ยนรหัสผ่านของฐานข้อมูลที่เข้ารหัสให้เปิดฐานข้อมูลจากนั้นใช้ฟังก์ชัน ChangePassword () ของ SQLiteConnection:
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 จะใช้คีย์เข้ารหัสเดียวกันกับฐานข้อมูลหลักเมื่อแนบไฟล์ฐานข้อมูลอื่นเข้ากับการเชื่อมต่อที่มีอยู่ ในการเปลี่ยนลักษณะการทำงานนี้คุณใช้ตัวปรับเปลี่ยนคีย์ดังต่อไปนี้:
หากคุณกำลังแนบฐานข้อมูลที่เข้ารหัสโดยใช้รหัสผ่าน cleartext:
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();