SQLite 3.7.13的加密解密(六)—— 使用方法
来源:互联网 发布:判断两组数据的相似性 编辑:程序博客网 时间:2024/06/05 11:13
采用上一节的方法为SQLite添加了加密解密功能后,使用方法如下:
1、 在调用sqlite3_open()函数打开数据库后,要调用sqlite3_key()函数为数据库设置密码;
2、 如果数据库之前有密码,则调用sqlite3_key()函数设置正确密码才能正常工作;
3、 如果一个数据库之前没有密码,且已经有数据,则不能再为其设置密码;
4、 如果要修改密码,则需要在第一步操作后,调用sqlite3_rekey()函数设置新的密码;
5、 设置了密码的SQLite数据库,无法使用第三方工具打开;
具体使用的示例代码如下:
#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#define SQLITE3_STATIC
extern int sqlite3_key(sqlite3 *db, const void *pKey, int nKey);
static int _callback_exec(void * notused,int argc, char ** argv, char ** aszColName)
{
int i;
for ( i=0; i<argc; i++ )
{
printf( "%s = %s\r\n", aszColName[i], argv[i] == 0 ? "NUL" : argv[i] );
}
return 0;
}
int main(int argc, char * argv[])
{
const char * sSQL;
char * pErrMsg = 0;
int ret = 0;
sqlite3 * db = 0;
//创建数据库
ret = sqlite3_open("d:\\encrypt.db", &db);
//添加密码
ret = sqlite3_key( db, "dcg", 3 );
//在内存数据库中创建表
sSQL = "create table class(name varchar(20), student);";
sqlite3_exec( db, sSQL, _callback_exec, 0, &pErrMsg );
//插入数据
sSQL = "insert into class values('mem_52911', 'zhaoyun');";
sqlite3_exec( db, sSQL, _callback_exec, 0, &pErrMsg );
//取得数据并显示
sSQL = "select * from class;";
sqlite3_exec( db, sSQL, _callback_exec, 0, &pErrMsg );
//关闭数据库
sqlite3_close(db);
db = 0;
return 0;
}
- SQLite 3.7.13的加密解密(六)—— 使用方法
- SQLite 3.7.13的加密解密(六)—— 使用方法
- SQLite 3.7.13的加密解密(三)—— 创建加密解密函数
- SQLite 3.7.13的加密解密(四)—— 挂接加密解密函数
- SQLite 3.7.13的加密解密(三)—— 创建加密解密函数
- SQLite 3.7.13的加密解密(四)—— 挂接加密解密函数
- SQLite 3.7.13的加密解密(一)—— 前言
- SQLite 3.7.13的加密解密(二)—— 开放宏定义
- SQLite 3.7.13的加密解密(五)—— 修正编译错误和警告
- SQLite 3.7.13的加密解密(七)—— 遗留问题
- SQLite 3.7.13的加密解密(一)—— 前言
- SQLite 3.7.13的加密解密(二)—— 开放宏定义
- SQLite 3.7.13的加密解密(五)—— 修正编译错误和警告
- SQLite 3.7.13的加密解密(七)—— 遗留问题
- SQLite 3.7.13的加密解密
- SQLite 的加密解密(开放宏定义)
- 加密,解密Sqlite数据库
- SQLite 加密、解密、迁移
- 数据量大时,页面延时加载方法.
- Androidz之返回键退出程序
- Java什么会成功
- SQL 中不同类型的表连接
- 浅谈HTTP中Get与Post的区别
- SQLite 3.7.13的加密解密(六)—— 使用方法
- SetOverwrite参数
- 关于surfaceView何时被创建,何时被销毁
- Unity3d如何固定帧率
- POJ 1564 Sum It Up dfs
- 谷歌地图处理大量标记
- 国家码
- C# 对xml操作
- Photoshop 使用记录