zoukankan      html  css  js  c++  java
  • SQLite 3.7.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;

    }

    本文出自 “rainman” 博客,请务必保留此出处http://lancelot.blog.51cto.com/393579/940816


  • 相关阅读:
    9、par画图参数
    awk
    Android Studio Gradle下载的包在哪里?
    .net core webapi 在原有基础上修改。
    .net core webapi 部署到 IIS
    原来部署好的WCF(可以调用),因为部署.net core,而安装了DotNetCore.2.0.5-WindowsHosting,导致现在WCF站点不可以。
    sql2008R2新建链接服务器。
    Dynamics CRM 365常用js记录。
    <div>标签输入文字
    dynamics crm 365 附件上传图片并且显示。
  • 原文地址:https://www.cnblogs.com/iapp/p/3631760.html
Copyright © 2011-2022 走看看