SQL server 2008 R2 里建了一个用户登录信息的表,存放密码信息的那一列能屏蔽真实信息吗
建了一个TABLE,有如下几个列:UserIDPassword存放密码的Password列是否能显示为*******之类的,总之就是不让任何人能看到密码这一列的真实内容,...
建了一个TABLE,有如下几个列:
User ID
Password
存放密码的Password列是否能显示为*******之类的,总之就是不让任何人能看到密码这一列的真实内容,管理员也不能看到。 展开
User ID
Password
存放密码的Password列是否能显示为*******之类的,总之就是不让任何人能看到密码这一列的真实内容,管理员也不能看到。 展开
2个回答
展开全部
你好,很高兴回答你的问题。
SQLSERVER 中有相应的函数。pwdencrypt 加密,此加密不可以逆(我的知道的)。然后可以用 pwdcompare 来验证输入的密码是否正确。
下面是一个例子
1, 设置密码。
比如 用户A设置的密码是 auserpwd
那么在写入到 Password 那一列的时候这样写
insert userTable (UserID,Password) values ('A',pwdencrypt('auserpwd'))
2,验证密码.
如果用户在登录验证的时候输入错误密码 auserpassword
select pwdcompare(Password,pwdencrypt('auserpassword')) '' from userTable where UserID='A' 那么返回的结果就是 0 ,如果输入正确的密码 那么返回值就是 1 。
如果有不明白,可以追问,或者HI 我。
SQLSERVER 中有相应的函数。pwdencrypt 加密,此加密不可以逆(我的知道的)。然后可以用 pwdcompare 来验证输入的密码是否正确。
下面是一个例子
1, 设置密码。
比如 用户A设置的密码是 auserpwd
那么在写入到 Password 那一列的时候这样写
insert userTable (UserID,Password) values ('A',pwdencrypt('auserpwd'))
2,验证密码.
如果用户在登录验证的时候输入错误密码 auserpassword
select pwdcompare(Password,pwdencrypt('auserpassword')) '' from userTable where UserID='A' 那么返回的结果就是 0 ,如果输入正确的密码 那么返回值就是 1 。
如果有不明白,可以追问,或者HI 我。
追问
试了几次好像不行呢。
直接在SQL SERVER执行新建一个记录的语句:
insert into TableA (User_ID,Username,Password) values ('itce002','43',pwdencrypt('111111'))
然后执行选取的语句:
select pwdcompare(Password,pwdencrypt('111111')) from TableA where User_ID='itce002'
得到的结果是0。试了好几次都是0的结果。得不到1的结果。
追答
非常的抱歉,语句给错了。
现在纠正一下,比较密码的语句。
select pwdcompare('111111',Password) from TableA where User_ID='itce002'
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询