c# sqlite 數據庫加密


c# sqlite 數據庫加密
2010-05-29 10:55

用了 ADO.NET 2.0 SQLite Data Provider 這樣可以直接利用它來創建一個 加密的sqlite數據庫
有關c#代碼如下:
1、創建空的sqlite數據庫。
//數據庫名的后綴你可以直接指定,甚至沒有后綴都可以
//方法一:創建一個空sqlite數據庫,用IO的方式
FileStream fs = File.Create(“c:\\test.db“);
//方法二:用SQLiteConnection
SQLiteConnection.CreateFile(“c:\\test.db“);

 

 

創建的數據庫是個0字節的文件。

2、創建加密的空sqlite數據庫

//創建一個密碼為password的空的sqlite數據庫
SQLiteConnection.CreateFile(“c:\\test2.db“);                
SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“);
SQLiteConnection cnn = new SQLiteConnection(“Data Source=D:\\test2.db“);
cnn.Open();
cnn.ChangePassword(“password“);

3、給未加密的數據庫加密

SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test.db“);
cnn.Open();
cnn.ChangePassword(“password“);

4、打開加密sqlite數據庫

//方法一
SQLiteConnection cnn = new SQLiteConnection(“Data Source=c:\\test2.db“);
cnn.SetPassword(“password“);
cnn.Open();
//方法二
SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();
builder.DataSource = @”c:\test.db“;
builder.Password = @”password“;
SQLiteConnection cnn = new SQLiteConnection(builder.ConnectionString);
cnn .Open();

注:
A、因為加密的函數是利用windows api,故加密后的數據庫只能適用在windows平台,加密的方式是整體文件加密。
B、加密的算法是RC4,如果你想采用別的加密算法來加密,請參考ADO.NET 2.0 SQLite Data Provider 的源碼來修改。
c、相關sqlite數據庫操作類似ADO.NET 2.0。詳見ADO.NET 2.0 SQLite Data Provider的幫助文檔。
c、ADO.NET 2.0 SQLite Data Provider 版本為:1.0.53.0 ,SQLite版本 : 3.6.0。
d、開發環境為vs2008。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM