数据库加密问题(50分)

轻松

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一Delphi数据库,是已经被加了密码的,密码已知。
如何操作,才能将密码去掉?
 
什么数据库?
 
说清楚点
 
就是一个.db的delphi标准数据库,我用Delphi的 Delphi Desktop 打开该数据库时,会出现一个菜单如下:

标题:Enter Password(s)
提示:Password for SFCXXF.db
下面是一个输入文本框
再下面是六个按钮,分别是
Add Remove Remove All
OK Cancel Help

我一般用Access导入,若没有设置密码的.db数据库,导入正常
但是设置了密码的数据库,用Access根本打不开,只有用Delphi Desktop能打开(密码已知)

我希望能导入到Access数据库中,请问有什么办法吗?
 
有帮忙的吗?
 
看下面的帖子对你有用吗
在 Database Desktop 中打开要加密的 Paradox 表,点 Restructure 按钮
打开表结构设计对话框,然后在 Table Properties 里选 Password Security,
按 Defind 按钮 就可以设置密码了。以后打开这个表时都会要求输入密码。



来自:王寒松 时间:98-9-11 12:02:20 上午
动态的添加PARADOX表的方法

下面给出的函数 AddMasterPassword 完成添加PARADOX表
主口令的工作
AddMasterPassword(Table1, 'MyNewPassword')

procedure AddMasterPassword(Table: TTable; pswd: string);
const
RESTRUCTURE_TRUE = WordBool(1);

var
TblDesc: CRTblDesc;
hDb: hDBIDb;

begin
{表打开?表是独占吗?}
if (Table.Active = False) or (Table.Exclusive = False) then
raise EDatabaseError.Create('数据表必须在独占方式才可以添加口令');

{初始化表描述区 }
FillChar(TblDesc, SizeOf(CRTblDesc), 0);

with TblDesc do
begin
{ 把表名放到描述区 }
StrPCopy(szTblName, Table.TableName);
{ 把表类型放到描述区 }
StrCopy(szTblType, szPARADOX);

StrPCopy(szPassword, pswd);

{ 设置BPROTECTED为TRUE }
bProtected := RESTRUCTURE_TRUE;
end;

{ 从当前的HANDLE里得到DATABASE的HANDLE }
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
{ 关闭表 }
Table.Close;
{ 添加主口令到PARADOX表里}
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil, nil, nil, FALSE));
{添加一个新口令到SESSION}
Session.AddPassword(pswd);
{重新打开表 }
Table.Open;
end;

添加副口令的办法与此类似


来自:王洁 时间:98-9-11 03:31:57 上午
不用那么麻烦,加口令用Database DeskTop.
解口令In Your Program:
Table1.DBSession.AddPassWord('Your PassWord');
Table1.Open;
 
谢谢帮助,不过我要的是解口令,而不是加口令。
 
还要加密算法
 
加密码是Delphi的 Delphi Desktop 加的,
密码也知道(数据库也可进)
现在是怎样把密码去掉
 
在 Database Desktop 中打开要加密的 Paradox 表,点 Restructure 按钮
打开表结构设计对话框,然后在 Table Properties 里选 Password Security,
按 Modify 按钮 ,Delete可以删除密码。OK后Save。

AccessXP可以打开,当然要输入密码了。[:)]
 
真是的高手,接受影子的答案。
搞掂啦,真的多谢~!
注:access2000打不开加密了的数据库,连密码框都出来来。
accessXP我没用过,就不知道了。
 

别将我捧得这么高,压力很大的。[:)]
 
顶部