我需要制作一个程序,生成一个以我设置的特定目的地以文本文件格式保存的密码,并且用户需要打开.txt以获取密码以"解锁"另一个程序.
我已经有了在字符串sPass中生成密码的代码,现在我需要使用SaveToFile函数将其保存到我创建的名为Password.txt的文本文件中,但我找不到使用SaveTo文件函数的一般表单Delphi和我不知道将sPass和Password.txt放在函数中的哪个位置.
它应该是这样的:SaveToFile(...)但我不知道如何在Password.txt中保存sPass
编辑:
还有一个问题,在添加字符串之前,如何删除以前存储在Password.txt中的内容,以便在添加字符串之前Password.txt为空?谢谢
我在考虑制作一个小工具.这个工具会做什么并不重要.重要的是,该工具需要在用户的硬盘上存储一些敏感信息.编辑:将存储的信息是用户信息 - 我不是要保护我自己的内容,而是通过应用程序分发.
我知道我需要加密这些信息.但是,我在哪里可以安全地存储加密密码?这是某种无限递归......
那么,有没有办法加密Windows上的信息,并让Windows安全地管理密码?当我说Windows时,我指的是Windows XP SP2或更高版本.
我还应该注意,同一系统上的用户必须无法访问其他用户信息(即使他们都在运行我的应用程序).
我正在寻找这个问题的.NET 2.0(C#)和本机(C/C++)解决方案.
我正在尝试保护包含敏感信息的本地数据库(类似于这个问题,仅适用于delphi 2010)
我正在使用DISQLite组件,它支持AES加密,但我仍然需要保护我用来解密和读取数据库的密码.
我最初的想法是生成一个随机密码,使用像DPAPI(CryptProtectData和CryptUnprotectDataCrypt32.dll中找到的函数)之类的东西存储它,但我找不到任何关于Delphi的例子
我的问题是:如何安全地存储随机生成的密码?或者,假设DPAPI之路是安全的,我如何在Delphi中实现这个DPAPI?
我需要"密码保护"我的应用程序,但需要建议安全地存储密码的位置.
我打算怎么做:
第一次运行程序时,我将提示用户创建密码.密码将被盐化并在SHA-256中进行散列,然后存储在注册表或文件中.
问题:
如果我将散列密码存储在注册表或文件(或两者)中,那么有人只需删除注册表或文件中的密钥并提示创建新密码就太容易了...
如何安全地存储哈希密码以使其更难被删除?
我已经考虑过将它存储在注册表中,并创建一个带有隐藏和系统属性的文件,以便在删除注册表文件的情况下读取,但这看起来很愚蠢,因为它也可以很容易地删除.
//我希望我用正确的标签正确地发布了这个问题 - 我是新来的,所以请放心!;)
祝一切顺利
克里斯(Shamballa)
我设法使用以下代码对输入的密码进行简单加密,然后在标签标题中显示加密密码,
procedure TfrmLogin.edtAddPasswordClick(Sender: TObject);
var
NormalPassword, EncryptedPassword: string;
PasswordChar: Char;
EncryptedCharValue: string;
CharPtr: Integer;
Ptr, n: Integer;
begin
NormalPassword := Edit1.text;
EncryptedPassword := '';
for CharPtr := 1 to Length(NormalPassword) do
begin
PasswordChar := NormalPassword[CharPtr];
EncryptedCharValue := IntToStr (Ord(PasswordChar) * 5 + 14);
EncryptedPassword := EncryptedPassword + EncryptedCharValue;
Label1.Caption := EncryptedPassword;
end;
end;
Run Code Online (Sandbox Code Playgroud)
问题是我想将label1.caption中显示的加密密码转换回其原始形式,点击另一个按钮,我无法弄清楚如何做到这一点.有什么建议?
delphi ×4
delphi-7 ×2
encryption ×2
security ×2
.net-2.0 ×1
delphi-2010 ×1
native ×1
passwords ×1
string ×1
text-files ×1
windows ×1