簡體   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