Sql  Server自带的函数为:pwdencrypt()将加密后的数据保存入数据库就可以了,如果要校验  用pwdcompare()函数就可以了。

解决方案 »

  1.   

    to  jinjazz(近身剪(N-P攻略)) :   很感谢你,但我对pwdencrypt()函数的方法不熟悉,在sql server的帮助中也查不到,你能说一下它的用法吗?
      

  2.   

    只能用于校验密码,不能解密读出来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!'
      

  3.   

    初学sql 中,感觉  jinjazz(近身剪(N-P攻略)) 你的方法还是有点复杂,相信我现在还不会用,我想在PB中做个简单的算法将数据加密算了,不过还是很感觉你!
      

  4.   


    转- 邹建1.sql是服务型数据库,所以加密数据文件的方式不可行
    2.对数据进行加密存储,会带来一系列处理上的麻烦,而且数据处理效率极低,如果这样加密存储,还不如用ACCESS数据库(可以进行文件加密)3.SQL的安全性体现在用户上,你可以限制用户没有备份之类的权限,为什么不能限制他的服务器文件操作权限?4.""***用户会拥有系统管理员的权限,可以限制用户的数据库管理权限使其不能通过“备份数据库”和“导出数据”的功能获取数据**"
    这句话有点看不懂了,用户有系统管理员的权限,那它可以给自己增加权限实现备份数据库,你怎么限制?
    如果用户不是系统管理员,那么就将它和windows的安全性集成起来,不给该用户操作数据库目录的权限不就行了么(用NTFS分区)?总之一句话,管好你的SQL用户和数据库服务器的用户,那样你的数据库才安全如果不和数据库服务器的用户管理结合起来,你的数据始终不安全