我試圖創建必須包含一個密碼約束:密碼檢查約束SQL服務器
- 至少1大寫
- 至少1號
- 至少5個字符長
我尋覓了很多,我只是不能讓它工作
例如,我曾嘗試
(len([PASSWORD])>(5) AND [PASSWORD] like '%[0-9]%' AND [PASSWORD] like '%[A-Z]%')
現在,它將如果密碼包含了一些接受它,但是當密碼不包含大寫可言,或僅首都也會接受它,這讓我困惑,我嘗試了多種組合
[password] LIKE '%[^a-zA-Z0-9]%'
也沒有工作,我已經嘗試從計算器許多代碼片斷和人都將其標記爲回答,這使我懷疑,是不是我的一個問題還是我做錯了什麼?我很困惑,現在
(len([PASSWORD])>(5) AND [PASSWORD] like '%[A-Z]%' AND [PASSWORD] like '%[0-9]%')
這應該不允許密碼:「wefwefew123」吧?好吧,它的確如此。它不接受「wefwefew」,所以它可以在0-9上工作,A-Z有什麼問題?
這可能是一個愚蠢的錯誤,我可能會覺得後啞巴,但我解決不了我自己,千萬記住我無親;)
有你,如果檢查你的桌子上整理/數據庫設置爲區分大小寫? –
存儲密碼通常是一個非常糟糕的計劃 - 通常存儲(醃製)密碼散列效果更好 - 作爲獎勵意味着您不必設置最大密碼長度。那麼,密碼策略通常會在應用程序中更好地執行。 –
我跟着此http://stackoverflow.com/questions/3296428/changing-sql-server-collation-to-case-insensitive-from-case-sensitive 和它原來是殼體insensative – stefan