加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何在本地为多用户应用程序存储密码?

发布时间:2020-12-15 09:41:57 所属栏目:大数据 来源:网络整理
导读:我想创建一个多用户应用程序,但我不知道如何保存和读取加密密码. procedure SavePass(Password: WideString);var Pass: TIniFile;begin Pass := TIniFile.Create(ChangeFileExt(Application.ExeName,'.PASS')); Pass.WriteString('Users','USERNAME',Passwor
我想创建一个多用户应用程序,但我不知道如何保存和读取加密密码.

procedure SavePass(Password: WideString);
var
  Pass: TIniFile;
begin
  Pass := TIniFile.Create(ChangeFileExt(Application.ExeName,'.PASS'));
  Pass.WriteString('Users','USERNAME',Password);
  Pass.Free;

密码必须存储在计算机上.
这有效,但使用它来保存密码是愚蠢的.
散列密码也很好.

解决方法

如果连接软件接受散列密码,则不会阻止窃取散列密码的人员进行连接.它所要做的只是隐藏真实密码.

此外,如果您连接的软件不接受散列密码(数据库,网站等),您将必须以这样的方式存储您的密码,以便您可以将其恢复到原始状态.哈希版本不会帮助你.

如果您想要加扰存储以便人们无法读取文件,您可以使用Windows.EncryptFile()和Windows.DecryptFile().在较新的Delphi中,它整齐地包含在IoUtils.TFile.Encrypt()和IoUtils.TFile.Decrypt中.

如果你真的想阻止其他人阅读密码的明文版本,那么你将不得不使用密钥进行一些加密.那么你存储那个密钥在哪里?这将首先打败存储密码的全部目的.例如,通过使用文件系统的用户权限来防止其他用户访问会更好,因为您或您的软件可以执行任何操作,如果他具有相同的权限,则“黑客”可以执行此操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读