使用登錄系統 - 客戶選擇密碼進行站點訪問的點。限制用戶密碼字符集
除了使用RegEx確保密碼足夠強大之外,通常在我們的系統上,所有將在數據庫中結束的數據都會針對注入進行檢查等,並在所有字段上強制執行合理的限制字符集。我並不想爲密碼設置一個特別限制的字符集,因爲我認爲這太過於控制它的安全性。
在密碼的情況下不過,我會用鹽醃SHA-512散列反正它插入其中提出的問題了一把:
是否有任何一點在任何限制的字符設置客戶可以在密碼中使用 - 也就是說,我是否暴露了任何我認爲會被哈希完全繞過的注入之外的漏洞?
必須有一個否定的允許所有的方法 - 我能想到的事實是,在未來什麼是無辜的組合現在可能會變成一個危險的組合 - 是一個真正的關注,並有其他人我可能錯過了?
是否有任何必須被拒絕的字符/字符串 - 他們會通過本機ASP.NET保護嗎?
可能有點更主觀,但鑑於它是一個SHA-512散列 - 有沒有限制用戶可以選擇的密碼的最大長度(在合理的參數範圍內),假設密碼的大小/複雜性可能會引發警告,確認他們確實想要設置它。
感謝您的幫助。
編輯:這是一個ASP.NET Web應用程序使用ADO.NET(而不是LINQ/EF)訪問MSSQL2008數據庫。
謝謝 - +1引起我的注意國際字符。 – Chris 2009-11-30 20:40:24