用VC++给Foxbase数据库文件加密

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

Visual C++ 是 一 种 功 能 十 分 强 大 的 程 序 设 计 语 言, 利 用 它 可 以 很 方 便。 快 捷 的 开 发 出Windows 下 的 各 种 应 用 程序。 尤 其 是 其 内 置 了 数 据 库 的 接 口, 可 使 我 们 毫 不 费 力 地 操 作Accse,FoxBASE+ 等 许 多 数 据 库 文 件。 但 在 安全 性 上, 由 于FoxBASE+ 是 一 种 早 期 的 产 品, 所 以, 不 能像Accse 那 样 为 数 据 库 文 件 本 身 加 密, 这 就 可 以 让 入 侵者 直 接 对 数 据 库 操 作 而 导 致 数 据 的 损 失。

本 文 提 供 的 方 法 可 以 做 为 一 个 小 的 模 块 放 到 你 的 应 用 程 序 中 调 用, 实 现 数 据 库 的 加 解 密。

首 先, 打 开Visual C++ 5.0 选 择New 建 立 一 个 基 于 对 话 框 的 应 用 程 序, 然 后 在 对 话 框 上 面 放 置 两 个 按 钮, 其 中一 个 标 题 叫 做 加 密, 另 一 个 标 题 叫 做 解 密。 对 应 实 现如 下:

void CAa6Dlg::OnButton1() (对应于加密按钮的单击)

{

int buf2[512],tcd,tcd1,*p1,i;

CFile cfile1;

char *pfilename;

pfilename="c:\\aa.dbf";

cfile1.Open(pfilename,CFile::modeReadWrite);

cfile1.Read(buf2,32);

p1=(int*)buf2;

p1=p1+1;

tcd=*p1;

tcd1=(tcd-1)/2;

cfile1.SeekToBegin();

cfile1.Read(buf2,tcd);

buf2[0]=buf2[0]+0x0017;

for (i=16;i

这 样, 用 本 程 序 的 加 密 功 能 加 密 的Fox 系 列 数 据 库( 如Foxbase+, Foxpro 等), 用Foxbase+,Foxpro 等 数 据 库 软 件无 法 对 其 进 行 读 写。 只 有 经 过 解 密 之 后, 才 能 被 其识 别。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航