C# Sqlite 資料庫加密
http://fecbob.pixnet.net/blog/post/38124397-c%23-sqlite-%E8%B3%87%E6%96%99%E5%BA%AB%E5%8A%A0%E5%AF%86
用了ADO.NET 2.0 SQLite Data Provider 這樣可以直接利用它來創建一個加密的sqlite資料庫。
有關c#代碼如下:
1、創建空的sqlite資料庫。
//資料庫名的尾碼你可以直接指定,甚至沒有尾碼都可以
//方法一:創建一個空sqlite資料庫,用IO的方式
FileStream fs = File.Create("c:\\test2.db");
//方法二:用SQLiteConnection
SQLiteConnection.CreateFile("c:\\test2.db");
創建的資料庫是個0位元組的檔。
2、創建加密的空sqlite資料庫
//創建一個密碼為password的空的sqlite資料庫
SQLiteConnection.CreateFile("c:\\test2.db");
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test2.db");
cnn.Open();
cnn.ChangePassword("password");
3、給未加密的資料庫加密
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test2.db");
cnn.Open();
cnn.ChangePassword("password");
//方法一
SQLiteConnection cnn = new SQLiteConnection("Data Source=c:\\test2.db");
cnn.SetPassword("password");
cnn.Open();
//方法二
SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder();
builder.DataSource = @"c:\test2.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。
創作者介紹
shadow 發表在 痞客邦 PIXNET
2018年1月12日 星期五
訂閱:
張貼留言 (Atom)
WPF聊天室应用(ASP.NET Core SignalR)
WPF聊天室应用(ASP.NET Core SignalR) https://www.bilibili.com/video/BV1Q741187Si?p=2 https://www.bilibili.com/video/BV1UV411e75T?from=search&...
-
介面,依賴反轉,單元測試 https://www.youtube.com/watch?v=GpYieGx4y6M 介面隔離,反射,特性,依賴注入 https://www.youtube.com/watch?v=3bZ4rNS_o10
-
https://mgleon08.github.io/blog/2018/07/16/jwt/ https://medium.com/%E9%BA%A5%E5%85%8B%E7%9A%84%E5%8D%8A%E8%B7%AF%E5%87%BA%E5%AE%B6%E7%AD%86%...
-
https://dotblogs.com.tw/v6610688/2015/02/19/iis_office_access_word_excel_com_interop_api_configuration https://dotblogs.com.tw/gelis/archi...
沒有留言:
張貼留言