如图,有一个名为Manager的表,ID是账号,PWD是密码。另一图是我编写的登陆程序。正常来说只有ID跟PWD匹配才能登陆,当我输入账号为Test1,密码是Test1的密码时能登陆成功。但神奇的事情来了:当我输入的密码是Test3的密码时,竟然也能登陆成功!而且如果账号是Test4,输入密码为Test1或Test4的密码时也能登陆成功!这是为什么!
sqlserver是大小写不敏感的,数据库里查询111aaa和111AAA是一样的
密码一般存在数据库里面都是MD5校验值,不会是明文密码。可以这样尝试设计。
你好,
我觉得你可以再写查询语句的时候 加上 COLLATE Latin1_GENERAL_CS_AS。 这个可以区分大小写。
string sql = "select * from Manager where Password='"+ pwd + "' COLLATE Latin1_GENERAL_CS_AS";