繁体   English   中英

如何加密和保存密码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM