我需要制作一个程序,生成一个保存在我设置的特定目的地的文本文件格式的密码,并且用户需要打开.txt以获取密码来“解锁”另一个程序。
我已经得到了代码来生成sPass字符串中的密码,现在我需要使用SaveToFile函数将其保存到我创建的Password.txt文本文件中,但是我找不到使用SaveTo File函数的一般格式Delphi和我不知道把sPass和Password.txt放在哪里。
它应该是这样的:SaveToFile(…),但我不知道如何在密码.txt中保存sPass
编辑:
还有一个问题,在添加字符串之前,您如何删除以前存储在Password.txt中的内容,以便在添加字符串之前Password.txt为空白?谢谢
解决方法
现代的方法是创建一个stringlist并将其保存到文件中。
procedure MakeAStringlistAndSaveThat; var MyText: TStringlist; begin MyText:= TStringlist.create; try MyText.Add('line 1'); MyText.Add('line 2'); MyText.SaveToFile('c:\folder\filename.txt'); finally MyText.Free end; {try} end;
请注意,Delphi已经有一个相关的类,可以执行你想要的一切:TInifile。
它将值和键以key =’value’格式存储。
passwordlist:= TInifile.Create; try passwordlist.LoadFromFile('c:\folder\passwords.txt'); //Add or replace a password for `user1` passwordlist.WriteString('sectionname','user1','topsecretpassword'); passwordlist.SaveToFile('c:\folder\passwords.txt'); finally passwordlist.Free; end; {try}
警告
请注意,在文本文件中保存未加密的密码是安全漏洞。最好使用哈希函数对密码进行散列,请参阅:Password encryption in Delphi有关如何以安全的方式保存密码的提示。