下面的过程不会提示不认识数据库,只是会提示密码错误,任何读取密码的软件都不能读出正确的密码

function LockupFile(FileName:string;Lock:boolean=true):integer;

//加密、解密数据库,针对 Access 2000

var

f:File;

bf:array[0..63] of Byte;

i:integer;

const

fpos=64;

flen=64;

//下面改为自己的密钥,我是用随机生成的,请改为自己的密钥

pw:array[0..63] of byte=

($97,$A0,$0C,$A1,$06,$59,$0A,$6D,

$91,$33,$51,$57,$D4,$A3,$94,$16,

$3D,$B2,$C7,$A0,$7C,$A3,$30,$EE,

$34,$D6,$C1,$FF,$F7,$EC,$A5,$1F,

$71,$2C,$19,$69,$E3,$25,$7D,$8B,

$D3,$95,$AB,$C9,$02,$8A,$87,$44,

$9F,$C7,$D7,$7D,$BA,$69,$56,$15,

$FB,$CB,$03,$D6,$94,$A6,$BF,$F7);

begin

result:=-1;

if not FileExists(FileName) then exit;

try

AssignFile(f,Filename);

Reset(f,1);

Seek(f,fpos);

BlockRead(f,bf,flen);

//下面的代码是判断是否被加密,你可以用二进制编辑器打开MDB文件对比,

//我是用第64,65字节作为是否加密的标记,未加密与版本相关,加密后与版本和密钥相关

if lock and (bf[0]=$2B) and (bf[1]=$EE)

or not lock and (bf[0]=$BC) and (bf[1]=$4E)

or not ((bf[0]=$2B) and (bf[1]=$EE))

and not ((bf[0]=$BC) and (bf[1]=$4E)) then

begin

result:=0;

exit;

end;

for i:=0 to flen-1 do

bf[i]:=bf[i] xor pw[i mod 64];

Seek(f,fpos);

BlockWrite(f,bf,flen);

result:=1;

finally

CloseFile(f);

end;

end;

以ADO为例,把ADOConnection.Mode设为cmShareExclusive就可以以独占方式打开数据库,

任何除你程序之外的程序都不能访问数据库文件,复制也不行,但是用户用任务管理器强行

结束你的程序可以让你没加密就退出,如果要更安全,就要写另一个程序和你的主程序来互

相监视,监视程序如果能访问数据库则马上给它加密.主程序也要保证监视程序的运行.

delphi mysql 加密_Delphi对Access文件加密相关推荐

  1. 给计算机文件加密用什么软件,有没有好用的电脑文件夹加密软件?电脑文件加密软件推荐...

    原标题:有没有好用的电脑文件夹加密软件?电脑文件加密软件推荐 如何保护电脑上的文件安全呢?在众多的解决方案中,电脑文件加密软件很有性价比.很多小伙伴在问,有没有好用的电脑文件夹加密软件?答案是肯定的. ...

  2. java 文件加密_一个JAVA文件加密代码

    import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.secu ...

  3. 详解AES对称加密(python实现文件加密)

    一.对称加密 对称加密:需要对加密和解密使用相同密钥的加密算法. 优点:速度快,适合加密大量数据时使用. 缺点:不利于传送密钥.(后面文章在介绍非对称加密传输对称加密的密钥,此处应用是文件加密,密钥只 ...

  4. linux vim取消加密,linux 使用vim文件加密/解密的方法

    一. 利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了: 缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除: vi编辑器相 ...

  5. 企业文件加密系统价格—公司文件加密系统多少钱?

    企业文件加密系统多少钱?怎么收费?一般是根据需要购买的台数进行收费的. 现在市面上有很多做文件加密系统的厂商,每家收费标准都不一样,在百度搜索文件加密系统的价格,就会发现价格有几百到1000/台的不等 ...

  6. java 文件进行加密解密,java 对文件加密解密,该如何解决

    java 对文件加密解密 本帖最后由 Hong_1993 于 2014-09-03 10:51:35 编辑 我现在想做一个基于spring mvc 模式的 实现对  文件或目录文件   的加解密(de ...

  7. delphi mysql 图片_delphi数据库图片的存取 【转】

    一. 原理介绍--流式数据的类型及其应用 在Dephi中提供了TStream来支持对流式数据的操作.TStream是万流之源. 但由于它是一个抽象类,故不能被直接使用:而要使用其相应的子类, 如:TF ...

  8. 关于PBD加密或Powerbuilder工程文件加密的两个问题

    之前普遍采用一个方式就是打包或者压缩方式.通过在exe中运行一个外部dll的start和stop函数来解包,这个包括许多的狗和PBDManU.dll等,但已经有被证明存在解包能导出未加密pbd的bug ...

  9. delphi mysql 乱码_Delphi连接mysql中文乱码的解决办法

    MySQL数据库不常使用,以往使用都是连接已有的数据库,从未出现乱码问题.这次做到演示版的程序,需要自己建立MySQL数据库,而使用Delphi连接时,凡是数据库中文内容都显示为"???&q ...

最新文章

  1. Exchange 2016异地容灾系列-Exchange部署(五)
  2. figma下载_迁移至Figma
  3. 自己动手架设linux下Web服务器(图)5
  4. Android SDK Manager下载详解
  5. Tensorflow 卷积神经网络(三)池化与采样
  6. ubuntu怎么安装python3操作系统32_ubuntu系统下安装python3
  7. UVALive 3135--Argus+自己定义优先队列的优先规则
  8. (转)DPDK内存管理 01 -----初始化
  9. 产品读书《交互设计沉思录》
  10. java 生辰八字五行计算,五行八字(生辰八字五行计算器)
  11. dep指定版本 go_Go语言包管理工具dep的安装与使用
  12. 手写汉字识别数据集的预处理
  13. 淘宝APP用户行为分析
  14. Frame-Relay基础及配置学习笔记
  15. 【目标检测】 YOLO
  16. matlab研究微分方程,基于MATLAB的微分方程求解电路仿真实验研究与实现
  17. 农产品食品检验员职业能力证书含金量高吗?在哪报名?
  18. 关于在GET请求中使用body
  19. MATLAB 2018b 安装教程(图解)Mac Win Linux下均可安装
  20. 基于python网络爬虫天气_Python网络爬虫之中国天气网

热门文章

  1. 注意了,这些数值计算的坑千万别踩!
  2. 领英·影响力2020:职场人再定位,千里马伯乐新论
  3. 99%的程序员都在用Lombok,原理竟然这么简单?
  4. 华为百度美团驰援抗击疫情;自由软件基金会建议开源 Windows 7;印度超越美国成第二大智能手机市场 | 极客头条...
  5. @程序员,如何花式构建线程?
  6. 史上最全排序算法总结 | 原力计划
  7. 国产数据库年终大盘点!
  8. 360 小程序来了,进攻 PC 端!
  9. 从事 Java 20 年最终却败给了 Python,哭了!
  10. Python 狠甩 Java,Rust 持续称王!揭晓Stack Overflow 2019 开发者报告