资源简介

sqlite3提供了加密函数,但没有实现。 本源码在sqlite最新版本sqlite3.7.7.1的基础上实现了加密函数。下载源码后使用vs2010打开工程编译,生成sqlite3.lib和sqlite3.dll。使用时,把sqlite3.lib和sqlite3.dll链接到你的工程中,在sqlite3_open后使用sqlite3_key(db,szPassword,nPasswordLen);,其他和未加密的库使用方法一样。

资源截图

代码片段和文件信息

/*
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Name:        codec.cpp
// Purpose:     
// Author:      Ulrich Telle
// Modified by:
// Created:     2006-12-06
// RCS-ID:      $$
// Copyright:   (c) Ulrich Telle
// Licence:     wxWindows licence + RSA Data Security license
///////////////////////////////////////////////////////////////////////////////

/// \file codec.cpp Implementation of MD5 RC4 and AES algorithms
*/
/*
 **********************************************************************
 ** Copyright (C) 1990 RSA Data Security Inc. All rights reserved. **
 **                                                                  **
 ** License to copy and use this software is granted provided that   **
 ** it is identified as the “RSA Data Security Inc. MD5 Message     **
 ** Digest Algorithm“ in all material mentioning or referencing this **
 ** software or this function.                                       **
 **                                                                  **
 ** License is also granted to make and use derivative works         **
 ** provided that such works are identified as “derived from the RSA **
 ** Data Security Inc. MD5 Message Digest Algorithm“ in all         **
 ** material mentioning or referencing the derived work.             **
 **                                                                  **
 ** RSA Data Security Inc. makes no representations concerning      **
 ** either the merchantability of this software or the suitability   **
 ** of this software for any particular purpose.  It is provided “as **
 ** is“ without express or implied warranty of any kind.             **
 **                                                                  **
 ** These notices must be retained in any copies of any part of this **
 ** documentation and/or software.                                   **
 **********************************************************************
 */

#include “codec.h“

#if CODEC_TYPE == CODEC_TYPE_AES256
#include “sha2.h“
#include “sha2.c“
#endif

/*
// ----------------
// MD5 by RSA
// ----------------

// C headers for MD5
*/
#include 
#include 
#include 
#include 

#define MD5_HASHBYTES 16

/*
/// Structure representing an MD5 context while ecrypting. (For internal use only)
*/
typedef struct MD5Context
{
  unsigned int buf[4];
  unsigned int bits[2];
  unsigned char in[64];
} MD5_CTX;

static void  MD5Init(MD5_CTX *context);
static void  MD5Update(MD5_CTX *context unsigned char *buf unsigned len);
static void  MD5Final(unsigned char digest[MD5_HASHBYTES] MD5_CTX *context);
static void  MD5Transform(unsigned int buf[4] unsigned int in[16]);

static void byteReverse(unsigned char *buf unsigned longs);

/*
 * Note: this code is harmless on little

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     15872  2011-07-23 09:37  sqlite3.suo

     文件     947712  2011-07-22 11:44  Debug\sqlite3.dll

     文件      47518  2011-07-22 11:44  Debug\sqlite3.lib

     文件    1747968  2011-07-22 11:44  Debug\sqlite3.pdb

     文件     606720  2011-07-23 09:37  Release\sqlite3.dll

     文件      47518  2011-07-23 09:36  Release\sqlite3.lib

     文件    1338368  2011-07-23 09:37  Release\sqlite3.pdb

     文件      19310  2010-01-18 11:31  sqlite3\codec.c

     文件       3285  2010-02-05 00:25  sqlite3\codec.h

     文件       9748  2010-08-23 22:11  sqlite3\codecext.c

     文件        406  2011-07-22 08:47  sqlite3\Debug\sqlite3.dll.embed.manifest

     文件        381  2011-07-22 11:44  sqlite3\Debug\sqlite3.dll.intermediate.manifest

     文件         94  2011-07-22 11:44  sqlite3\Debug\sqlite3.lastbuildstate

     文件       6665  2011-07-22 11:44  sqlite3\Debug\sqlite3.write.1.tlog

     文件        206  2011-07-22 08:47  sqlite3\Debug\sqlite3_manifest.rc

     文件     249856  2011-07-22 11:44  sqlite3\Debug\vc100.pdb

     文件      52938  2010-03-25 00:43  sqlite3\extensionfunctions.c

     文件        381  2011-07-23 09:37  sqlite3\Release\sqlite3.dll.intermediate.manifest

     文件         96  2011-07-23 09:37  sqlite3\Release\sqlite3.lastbuildstate

     文件        415  2011-07-23 09:37  sqlite3\Release\sqlite3.write.1.tlog

     文件     225280  2011-07-23 09:36  sqlite3\Release\vc100.pdb

     文件     102338  2009-09-12 01:07  sqlite3\rijndael.c

     文件       6749  2009-09-12 00:58  sqlite3\rijndael.h

     文件      33153  2010-01-18 12:05  sqlite3\sha2.c

     文件       5067  2010-01-18 11:58  sqlite3\sha2.h

     文件      89695  2011-06-29 01:08  sqlite3\shell.c

     文件    4524292  2011-06-29 01:08  sqlite3\sqlite3.c

     文件       4606  2011-07-22 11:50  sqlite3\sqlite3.def

     文件     320887  2011-07-22 11:44  sqlite3\sqlite3.h

     文件       4583  2011-07-23 09:36  sqlite3\sqlite3.vcxproj

............此处省略16个文件信息

评论

共有 条评论