首页 › 月度存档 › 4月 2014

Linux tcpdump命令详解

简介
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
继续阅读 »

C++下使用加密版本SQLITE

SQLITE支持跨平台、跨语言,是做桌面产品比较合适的轻量级开源文件数据库,最新版本是3.7.15,下载位置:http://www.sqlite.org/sqlite-amalgamation-3071500.zip,非商业版本不提供加密功能,但有相应的第三方开源类库已经实现了加密功能。通常的方案是在C++下使用加密SQLITE库,.NET语言使用时进行封装,.NET下的SQLITE加密方式是不兼容的。
wxSQLite3除了封装SQLITE以外,还实现了一个SQLITE加密版本,wxSQLite3的最新版本是3.0.1,支持SQLITE 3.7.14.1。

首先下载wxSQLite3:http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/wxsqlite3-3.0.1.zip/download

解压后获取wxsqlite3-3.0.1\sqlite3\secure\src下所有文件。

新建C++ SDK DLL工程SQLITE3,加入预处理:
SQLITE_HAS_CODEC=1
CODEC_TYPE=CODEC_TYPE_AES128
SQLITE_CORE
THREADSAFE
SQLITE_SECURE_DELETE
SQLITE_SOUNDEX
SQLITE_ENABLE_COLUMN_METADATA

只把sqlite3secure.c包含在工程中,不使用预编译头。

在sqlite3.c及sqlite3secure.c文件头部加入:

#ifndef SQLITE_API
#define SQLITE_API __declspec(dllexport)
#endif

#ifndef SQLITE_HAS_CODEC
#define SQLITE_HAS_CODEC
#endif

在sqlite3.h头部加入(根据使用方法不同,此步骤并非必要):
#ifndef SQLITE_API
#define SQLITE_API __declspec(dllimport)
#endif

#ifndef SQLITE_HAS_CODEC
#define SQLITE_HAS_CODEC
#endif

使用方引用sqlite3.h及sqlite3.lib