:)很簡單, 你將密碼存在INIfile,或是註冊表中,當然這個密碼是經過一些處理了.
你最好寫一個加密和解密的函數,這樣你就不用擔心了.
你最好寫一個加密和解密的函數,這樣你就不用擔心了.
解决方案 »
- foxpro数据库能排序保存吗?
- *****如何读取到一个WORD文档的所有内容包括此文档的全部格式?*****
- 请教一下,我的delphi 7中为什么找不到Twebbrowser控件?
- 招聘:开发工程师
- 100分探讨!如何知道鼠标点击了另一个程序(比如计算器)上的第二个按钮或单选框?
- 一个异常,但是为什么捕获不到???
- 请高手指点
- 如何求得从1月1日开始到现在已经过了多少天?
- 如何把一个用COM组件返回的OleVariant类型的记录集绑定到一个DataSet上?
- 请问怎么调用 type library 中的类?
- 如何把一个3M单独文件拷到三张软盘作备份,用什么工具
- 如何在DELPHI中实现一大段文字一行一行地向上滚动。。。115分
这是Office97的解法:(2000你要不?)
function GetAccessPassword(FilePath:string):string;
const
xorString:array[0..12]of byte=
( $86, $FB, $EC, $37,
$5D, $44, $9C, $FA,
$C6, $5E, $28, $E6,$13 );
var
passBuf:array[0..14]of byte;
pass:array[0..14]of char;
resultPass:string;
B:Byte;
F:TFileStream;
i:integer;
begin
F:=TFileStream.Create(FilePath,fmShareDenyNone);
//office 97
try
F.Seek($42,soFromBeginning);
F.Read(passBuf,14);
for I:=0 to 13 do
begin
B := passBuf[i] xor xorString[i];
pass[i]:=char(B);
end;
pass[sizeof(pass) - 1] := #0;
resultPass:=StrPas(Pass);
finally
F.Free;
end;
result:=resultPass;
end;