储存密码的问题 突然想问一下,大家都是怎么储存密码字段的呢?不会就这么明文存储的吧?还是有什么其他手

---------------------------------------------------------------

可以在前台做一个加密算法,将密码加密后存到数据库。然后核对密码的时候,将用户的密码经过这个算法后再与存储的密码核对。
---------------------------------------------------------------

上面两位说的都是方法 你要想密码加密的等级高一些 用Chiff(~o~) 的方法自己作加密算法最好了 如果要求不高 直接用Sql Server自带的加密算法就可以。
Sql Server自带的函数为:pwdencrypt()将加密后的数据保存入数据库就可以了,如果要校验 用pwdcompare()函数就可以了。
---------------------------------------------------------------

给你个例子:

declare @tab table(pass_col varbinary(256))
declare @pwd_old varchar(50),@pwd_new varbinary(256),@en_pwd varbinary(256) --加密后的数据
select @pwd_old='aaa'
insert @tab values(pwdencrypt(@pwd_old))--加密
select @pwd_new=pass_col from @tab
if pwdcompare(@pwd_old, @pwd_new)=1 --比较密码是否符合,符合返回1,不符合返回0
print '"'+@pwd_old+'"'+' is ok!'
else
print '"'+@pwd_old+'"'+' is bad!'
select @pwd_old='bbb'
if pwdcompare(@pwd_old, @pwd_new)=1
print '"'+@pwd_old+'"'+' is ok!'
else
print '"'+@pwd_old+'"'+' is bad!'

不过,这两个函数都是未登记的T-SQL函数,使用时可要注意了哦!!!

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus