[英]How to encrypt and save a password
我正在研究.net应用程序中的安全性问题,并且据报告我的代码易受攻击,并且我看到此问题是存储密码的方式
例如:
<add key="RegxxxChannelPassword" value="test"/>
<add key="xxxRegistrationConnStr" value="xxxxxxxxxx;
所以我的工具表明,以纯文本格式存储密码是危险的。
那么我可以输入密码并保存吗?
有人可以请我提出建议吗?
使用会员资格提供者会简单得多。 如果您自己进行加密,那么您就在重新发明轮子,而无视框架可以为您做些什么。
我建议你去读一下 。
在这种情况下,提供者的相关属性是passwordFormat
。
编辑:有一会儿我以为你在谈论用户密码。 如果它是连接字符串的密码,则应位于.config文件中,例如web.config。 如果您把它放在适当的位置,VS不会抱怨它没有被加密,因为它的内容无论如何也永远不会提供给客户。
您可以使用aspnet_regiis加密web.config的各个部分,但是只要将网站部署到您拥有的服务器上,web.config都是存储密码等的相当标准的位置。 您也可以将值放在注册表中,但是在大多数情况下,这是不必要的。 这是有关加密web.config部分的文章:
http://msdn.microsoft.com/zh-cn/library/zhhddkxy%28v=vs.100%29.aspx
如果走那条路,您将运行命令以加密web.config作为部署步骤,应用程序将自行处理解密和使用值。
如果您希望将密码存储在Web.config中,建议您使用Rijndael进行双向加密: http : //msdn.microsoft.com/zh-cn/library/system.security.cryptography .rijndael.aspx
我同意@Renan,正确的做法是使用MembershipProvider。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.