SQLite加密的方法(c#)
http://blog.csdn.net/xjbx/article/details/2712236
设置下密码就可以了
http://bbs.csdn.net/topics/380018685
编译为静态库,并具备加密功能?
CppSQLite3U
最近在做一个winform的程序,考虑用Sqlite的数据库,小巧而实用,比Access强多了,不过需要加密,不过free版本没有实现加密,有一些c++的实现:比如:http://www.sqlite.com.cn/MySqlite/3/253.Html 和http://www.cppblog.com/niewenlong/archive/2007/06/01/25261.html 。不过,鉴于我对c++不是很精通,于是就采用了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数据库
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、给未加密的数据库加密
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。
ADO.NET 2.0 SQLite Data Provider的下载地址:http://sourceforge.net/project/showfiles.php?group_id=132486&package_id=145568
有关sqlite的中文介绍,你可以看看这里:http://www.cnblogs.com/shanyou/archive/2007/01/08/615245.html
本文首发地址:http://www.watch-life.net/net-tip/sqlite-encrypted.html
更多文章见:守望轩[http://www.watch-life.net/]
SQLite加密的方法(c#)的更多相关文章
- SQLite 加密 -- SQLCipher
SQLite3 插件 github 下载地址 插件配置步骤地址 购买地址 其他加密方式介绍 SQLCipher API 地址 前言 应用使用 SQLite 来存储数据,很多时候需要对一部分的数据进行加 ...
- Android中对sqlite加密--SQLCipher
原文:Android中对sqlite加密--SQLCipher android中有些时候会将一些隐私数据存放在sqlite数据库中,在root过的手机中通过RE就能够轻松的打开并查看数据库所有内容,所 ...
- SQLite加密 wxSqlite3
一直在网上搜wxSqlite3的文档,但是总找不到能真正解决问题的,就是一个简单的编译wxSqlite3自带的示例也出了老多问题,后来却发现,其实wxSqlite3的readme中已经有了详细的方法, ...
- vb.net加密解密方法
1.vb.net加密解密方法 Private Function getLicenseDate() As String Dim b() As Byte Dim path As String = Serv ...
- Atitit.视频文件加密的方法大的总结 java c# php
Atitit.视频文件加密的方法大的总结 java c# php 1. 加密的算法 aes 3des des xor等.1 2. 性能1 3. 解密1 4. 播放器的事件扩展1 5. 自定义格式 ...
- ASP.NET常用加密解密方法
ASP.NET常用加密解密方法 一.MD5加密解密 1.加密 C# 代码 public static string ToMd5(string clearString) ...
- Python3实现连接SQLite数据库的方法
本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: ? 1 2 3 4 5 6 7 8 ...
- Oracle中对列加密的方法
Oracle中对列加密的方法 2011-12-22 17:21:13 分类: Linux Oracle支持多种列加密方式: 1,透明数据加密(TDE):create table encrypt_col ...
- ios常见加密解密方法
在其他平台中经常会计算MD5值,在iOS平台中也提供了该方法,首先需要导入头文件 #import <CommonCrypto/CommonDigest.h> 方法CC_MD5可以获取MD5 ...
随机推荐
- 优测优社区干货精选|老司机乱谈编辑器之神——vim
文 / 腾讯 吴双 前言 优测小优 有话说: 腾讯优测只有应用测试大神?不不不,我们还有各种研发大牛! *** vim 是一种信仰,我自从2004年有了这个信仰,已经12个年头了.本文介绍了学习vim ...
- Codeforces Round #372 (Div. 2) A B C 水 暴力/模拟 构造
A. Crazy Computer time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- 2015GitWebRTC编译实录4
2015.07.17 libg711 编译通过[422/1600 ] CC obj /webrtc/modules/audio_coding/codecs/g711/g711.g711.o[423/1 ...
- 1.PHP站内搜索 分类: PHP开发实例 2015-07-31 22:48 4人阅读 评论(0) 收藏
PHP站内搜索:多关键字.加亮显示 1.SQL语句中的模糊查找 $sql = "SELECT * FROM `message` WHERE `content`like '%$k[0]%' a ...
- 哪些函数不能为virtual函数
1> 内联函数 内联函数是在编译时期展开,而虚函数的特性是运行时才动态联编,所以两者矛盾,不能定义内联函数为虚函数. 2> 构造函数 构造函数用来创建一个新的对象,而虚函数的运行是建立在对 ...
- PHP 页面自动刷新可借助JS来实现,简单示例如下:
<?php echo "系统当前时间戳为:"; echo ""; echo time(); //<!--JS 页面自动刷新 --> echo ...
- timus 1136 Parliament(e)
Parliament Time limit: 1.0 secondMemory limit: 64 MB A new parliament is elected in the state of MMM ...
- hihoCoder #1078 : 线段树的区间修改
题目大意及分析: 线段树成段更新裸题. 代码如下: # include<iostream> # include<cstdio> # include<cstring> ...
- C 语言中 free() 函数简单分析
又是一个睡不着的夜晚,现在是凌晨03:16,不知道是不是感冒的原因,头脑并不是清醒,但是就是睡不着.摸着黑打开电脑,洗了杯子抓了点茶叶,然后打开饮水机电源.舍友们都睡着了,我戴着耳机听着轻音乐,也能听 ...
- Linux驱动设计——字符杂项设备
杂项设备 linux里面的misc杂项设备是主设备号为10的驱动设备,misc设备其实也就是特殊的字符设备,可自动生成设备节点. 定义头文件<linux/miscdevice.h> 杂 ...