技术开发 频道

登陆时的密码大小写判断


【IT168技术文档】

  当密码没有加密时,数据库一般默认是大小写不区分的,这时不管你输入的是大写的还是小写的都可以登陆,刚开始用第二种方法虽然也可以解决但是是比较麻烦的.
解决方法一: Alter TABLE 表名 Alter COLUMN 列名 varchar(100) COLLATE Chinese_PRC_CS_AS 解决方法二: 对登陆的密码大小写进行逐一判断 ALTER FUNCTION [dbo].[StringUpperLowerValidate] ( @strInput VARCHAR(128), @strExist VARCHAR(128) ) RETURNS BIT AS BEGIN DECLARE @position INT DECLARE @Result BIT SET @position = 1 WHILE @position <= DATALENGTH(@strExist) BEGIN IF( ASCII(SUBSTRING(@strExist, @position, 1))= ASCII(SUBSTRING(@strInput, @position, 1))) BEGIN SET @position = @position + 1 SET @Result=1 END ELSE BEGIN SET @Result=0 break END END RETURN @Result END
//不区分大小写(作用于表中存储的数据) Alter TABLE 表名 Alter COLUMN 列名 varchar(100) COLLATE Chinese_PRC_CI_AS //区分大小写 Alter TABLE 表名 Alter COLUMN 列名 varchar(100) COLLATE Chinese_PRC_CS_AS //区分大小写(作用于表名、字段名……) alter database 数据库 collate chinese_prc_cs_as //不区分大小写 alter database 数据库 collate chinese_prc_ci_as

0
相关文章