Q : 储存密码的问题突然想问一下,大家都是怎么储存密码字段的呢?不会就这么明文存储的吧?还是有什么其他手段? 
主要解答者: gzhughie 提交人: Voky 
感谢: Chiff、supsuccess 
审核者: CSDNM 社区对应贴子: 查看 
     A :  ---------------------------------------------------------------  
 
可以在前台做一个加密算法,将密码加密后存到数据库。然后核对密码的时候,将用户的密码经过这个算法后再与存储的密码核对。  
---------------------------------------------------------------  
 
上面两位说的都是方法  你要想密码加密的等级高一些  用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函数,使用时可要注意了哦!!!