Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何处理应用程序中数据库或ftp服务器的密码_Security_Passwords - Fatal编程技术网

Security 如何处理应用程序中数据库或ftp服务器的密码

Security 如何处理应用程序中数据库或ftp服务器的密码,security,passwords,Security,Passwords,可能重复: 如果您创建的应用程序连接到数据库或ftp服务器,则需要用户名和密码 您建议如何存储此文件 第一个也是最简单的选择当然是应用程序中的纯文本,但是我想如果您以某种方式反编译了应用程序(或者应用程序在php中已经是纯文本的),它会非常清晰可见。但是有什么办法可以解决这个问题吗?当然可以对它进行加密,但是你必须对它进行解密(尽管我可能错了),这通常需要密码或某种令牌之类的东西。然后你回到开头,因为你把密码/令牌存储在哪里 这方面有哪些好的做法?与这个问题非常相似 因为,你没有提到平台,我

可能重复:

如果您创建的应用程序连接到数据库或ftp服务器,则需要用户名和密码

您建议如何存储此文件

第一个也是最简单的选择当然是应用程序中的纯文本,但是我想如果您以某种方式反编译了应用程序(或者应用程序在php中已经是纯文本的),它会非常清晰可见。但是有什么办法可以解决这个问题吗?当然可以对它进行加密,但是你必须对它进行解密(尽管我可能错了),这通常需要密码或某种令牌之类的东西。然后你回到开头,因为你把密码/令牌存储在哪里


这方面有哪些好的做法?

与这个问题非常相似

因为,你没有提到平台,我假设是Windows。我在这里重复我对这个问题的回答

这里有多个选项

1.您可以在第一次对密码进行哈希,然后将哈希存储到文件中。现在,下一次,如果希望以提升的权限执行代码,则需要接受/重新键入密码,重新计算散列并将其与存储的散列进行匹配。只有当它匹配时,您才能在提升模式下执行代码。您可以使用SHA进行哈希运算。请查看System.Crytography名称空间中有关哈希的示例

2.第二种选择是使用AES等算法加密密码。但是,您需要有一把钥匙才能执行此操作,并且您必须担心此钥匙的安全性

3.第三种选择是使用DPAPI并加密密码,但不必担心密钥的安全性-比第二种选择简单得多

如果您不介意在每次应用程序启动时重新输入密码,我建议使用1。如果不可能,我建议使用3并使用DPAPI

这里有一些链接可以帮助您开始


一,。2.

重复:成交。然后关闭这个:)散列密码的建议没有考虑彩虹表攻击。在对密码进行哈希运算之前,必须对其进行“salt”处理。另请参阅,如果可以链接到答案,请不要复制粘贴您自己的答案。无论如何,我会将此标记为已接受。将在相关问题中阅读更多内容:)