小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Sqlite數(shù)據(jù)庫的加密 | 守望軒

 豆芽愛尚閱 2015-12-15

最近在做一個winform的程序,考慮用Sqlite的數(shù)據(jù)庫,小巧而實用,比Access強(qiáng)多了,不過需要加密,不過free版本沒有實現(xiàn)加密,有一些c++的實現(xiàn):比如:http://www./MySqlite/3/253.Htmlhttp://www./niewenlong/archive/2007/06/01/25261.html 。不過,鑒于我對c++不是很精通,于是就采用了ADO.NET 2.0 SQLite Data Provider 這樣可以直接利用它來創(chuàng)建一個加密的sqlite數(shù)據(jù)庫。
有關(guān)c#代碼如下:
1、創(chuàng)建空的sqlite數(shù)據(jù)庫。

//數(shù)據(jù)庫名的后綴你可以直接指定,甚至沒有后綴都可以
//方法一:創(chuàng)建一個空sqlite數(shù)據(jù)庫,用IO的方式
FileStream fs = File.Create(c:\\test.db);
//方法二:用SQLiteConnection
SQLiteConnection.CreateFile(c:\\test.db);

創(chuàng)建的數(shù)據(jù)庫是個0字節(jié)的文件。

2、創(chuàng)建加密的空sqlite數(shù)據(jù)庫

//創(chuàng)建一個密碼為password的空的sqlite數(shù)據(jù)庫
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、給未加密的數(shù)據(jù)庫加密

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

4、打開加密sqlite數(shù)據(jù)庫

//方法一
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、因為加密的函數(shù)是利用windows api,故加密后的數(shù)據(jù)庫只能適用在windows平臺,加密的方式是整體文件加密。
B、加密的算法是RC4,如果你想采用別的加密算法來加密,請參考ADO.NET 2.0 SQLite Data Provider 的源碼來修改。
c、相關(guān)sqlite數(shù)據(jù)庫操作類似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、開發(fā)環(huán)境為vs2008。

ADO.NET 2.0 SQLite Data Provider的下載地址:http:///project/showfiles.php?group_id=132486&package_id=145568

有關(guān)sqlite的中文介紹,你可以看看這里:http://www.cnblogs.com/shanyou/archive/2007/01/08/615245.html

本文地址:http://www./net-tip/sqlite-encrypted.html

你可能也會喜歡以下文章:

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多