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”处理。另请参阅,如果可以链接到答案,请不要复制粘贴您自己的答案。无论如何,我会将此标记为已接受。将在相关问题中阅读更多内容:)