如何加密Access中的数据(100分)

  • 主题发起人 主题发起人 taozhiyu
  • 开始时间 开始时间
这个软件是毛毯、草坪等货物的订货软件。里面有货物的价格,优惠率,以及优惠率选

择方案,合同信息等。这些都需要加密。

软件的使用对象是铁路、飞机、汽车等运输系统的单位。我想他们应该算菜鸟的头头吧!

不过谁知道他们会不会找个超级黑客来打开这个软件的数据库呢?最起码的,我要找个

能混过这些菜鸟的方法。

那么,
1。对重要字段写入数据时加密,读出时再解密
2。在Access里面对整个数据库加密
3。对所有字段设置只读属性
这3种方法应该可以吧??????????????????

那么还有个问题,如果需要防范黑客级别的,应该用什么方法????
 
现在除了DES,IDEA,RSA加密系统,还有什么加密系统?
 
在Access文件中设置了文件密码 和 管理员密码

在ADOConnection.ConnectionString中加入管理员密码后测试连接不成功,
错误是:“测试连接失败,因为初始化提供程序是发生错误。无法启动应用程序。
工作组信息文件丢失,或是以被其他用户以独占方式打开”

当我去掉了文件密码就没有任何问题,连管理员密码都不用输入!!!

怎么搞得阿?
 
这样不知道可不可以:
关键字不加密,内容加密(读出来时在程序理处理);
同时再数据库加密
 
access本身设置密码,将内容改为ASC读时再改回来
 
拜托,有没有人欣赏是另一回事!
看你数据的重要性,
1。可以简单给access加密;
2。也可对你的关键数据如:‘产品价格’等信息加密;
3。可双重加密,就是以上两个结合啦!(如果不计较效率的话?!)
好运!^_^
 
在Access2000中"安全"选项中可给数据库加上密码,我用OLE自动化去创建了一个mdb文件,可怎样能让程序自动给数据库加上密码呢?
 
不如用Delphi+SQL SERVER/MYSQL,做在同一机上。
 
用ACCESS还想要安全性!
 
对付菜鸟头头的话,把MDB的后缀改一下就是了。
 
可以把.mdb文件的前几个字节用异或等更改,读取时恢复原状
 
哈哈,在你打开文件后,突然关机,然后开再机就取走了文件头已经解密的文件.

加密字段的方式是可取的,更何况用delphi/c++builder字段有二个让你写入和读取
时更改数据的机会.


 
用Delphi6的IdBase64Encoder,IdBase64Decoder控件进行加解密;
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, IdCoder3To4, IdBaseComponent, IdCoder, ExtCtrls;

type
TForm1 = class(TForm)
IDE1: TIdBase64Encoder;
IDE2: TIdBase64Decoder;
Memo1: TMemo;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Memo2: TMemo;
Label2: TLabel;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

function Fetch(var AInput: string; const ADelim: string = ' '; const ADelete: Boolean = true) : string;
var
iPos: Integer;
begin
if ADelim = #0 then begin
// AnsiPos does not work with #0
iPos := Pos(ADelim, AInput);
end else begin
iPos := AnsiPos(ADelim, AInput);
end;

if iPos = 0 then begin
Result := AInput;
if ADelete then begin
AInput := '';
end;
end else begin
result := Copy(AInput, 1, iPos - 1);
if ADelete then begin
Delete(AInput, 1, iPos + Length(ADelim) - 1);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
posi, posj : integer;
instring, mydata : string;
begin
form1.IDE1.Reset;
form1.IDE1.IgnoreNotification := True;
form1.IDE1.CodeString(memo1.Lines.Text);
mydata := form1.IDE1.CompletedInput;
Fetch(mydata, ';');
memo2.Lines.Text := mydata;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
posi, posj : integer;
instring, mydata : string;
begin
instring := memo1.Lines.Text;
posj := pos('=?big5?b?',lowercase(memo1.Lines.Text));
if posj >0 then
begin
form1.IDE2.Reset;
form1.IDE2.IgnoreNotification := True;
form1.IDE2.CodeString(Copy(instring,posj+9,length(instring)-posj-9));
mydata := form1.IDE2.CompletedInput;
Fetch(mydata, ';');
memo2.Lines.Text := mydata;
end
else
begin
form1.IDE2.Reset;
form1.IDE2.IgnoreNotification := True;
form1.IDE2.CodeString(instring);
mydata := form1.IDE2.CompletedInput;
Fetch(mydata, ';');
memo2.Lines.Text := mydata;
end;
end;

end.
 
to 乌龙茶:
我的access文件,加了用户密码,也加了数据库密码,用VB很容易打开,指定systemdb(
即mdw文件),再在连接中写入用户名和密码还有数据库的密码,就可以打开了,但我无法
用bde或ado打开,我该怎么打开啊!
 
多人接受答案了。
 
后退
顶部