C# 以区分大小写的方式验证密码
我在我的项目中有一个登录表单,它接受用户名和密码进行验证并继续 我使用SQL Server作为后端。最初在我的登录页面中,如果我以大写字母或小写字母输入密码,它将验证我的登录页面并继续项目。但是现在我想将区分大小写的密码验证添加到我的密码文本框中,以便它与数据库中密码字符的确切顺序相匹配 如何将此验证添加到密码字段。可以将其添加到登录表单或SQL Server中吗?您可以使用regexC# 以区分大小写的方式验证密码,c#,winforms,textbox,sql-server-2008-r2,C#,Winforms,Textbox,Sql Server 2008 R2,我在我的项目中有一个登录表单,它接受用户名和密码进行验证并继续 我使用SQL Server作为后端。最初在我的登录页面中,如果我以大写字母或小写字母输入密码,它将验证我的登录页面并继续项目。但是现在我想将区分大小写的密码验证添加到我的密码文本框中,以便它与数据库中密码字符的确切顺序相匹配 如何将此验证添加到密码字段。可以将其添加到登录表单或SQL Server中吗?您可以使用regex ^(?=(.*\d){2})(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z\d]).
^(?=(.*\d){2})(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z\d]).{8,}$
--------- --------------------- --------------- -----
| | | |->match 8 or more characters
| | |->match further only if theres anything except letter or digit
| |->match further only if there is an upper-lower case letter
|
|->match further only if there are two digits any
where
没有什么特别的事情要做,但是你一定要避免:
- 在clear中存储密码
- 使用简单的散列,如MD5,但不含盐(即,散列时引入了一定数量的可变性)
使用salt的原因是,根据预先构建的MD5或SHA哈希字典与您的密码数据库相匹配(如果它碰巧被黑客下载),大大降低了攻击速度。如果连接可以被黑客读取,这也会有所帮助,因为同样的预构建字典攻击可能会对通过网络传输的MD5哈希产生影响。正如其他人所提到的,将密码存储为纯文本不是一种好的做法。如果你被要求这么做
if(StringA == StringB)
在C#中本身区分大小写 如何验证密码字段?密码是如何存储的,您是否计算了哈希值?密码字段将使用数据库中存储的数据进行验证。密码字段上未添加其他验证@Dhaval PatelYou不应该在数据库中以明文形式存储密码。但要进行区分大小写的数据库比较,请指定一个。我猜这是一个学校项目?如果不是,并且是针对一个网站,请告诉我地址,这样我就永远不会在你的网站注册,直到你对密码进行某种哈希:)我不知道这是一个笑话还是一个错误的问题