日期:2014-05-18  浏览次数:20415 次

在sql server中可以把某个字段加密么? 急#!!!
在sql   server中可以把某个字段加密么?   我得意思就是说通过某些设置,或者写加密代码.然后把某个字段加密.通过普通得select   语句查询这个字段显示出来得数据是乱码.   直接打开这个表看这个字段里得数据也是乱码.必须通过某个方式解密后才能看到正确得数据!   请问下高手sql   server中有这种设置么?

------解决方案--------------------
try:pwdencrypt()
------解决方案--------------------
看错问题了,pwdencrypt()是单向加密函数,没有其他函数支持逆向解密,楼主只能自己写一个函数来加解密。
------解决方案--------------------
回复人:wangtiecheng(不知不为过,不学就是错!)

自己写函数加密数据。

但对于数据量很大的情况,效率比较低。

比如:要求某个字段的值包含某个串,这种情况,要把所有此字段的数据解密都再比较。

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

可以把“某个串”加密之后再比较。

------解决方案--------------------
否决一个字段查询的权限还是很方便的

语法
DENY select ON [表名] TO [用户名]

当然你也可以否决update insert delete references 之类的权限

------解决方案--------------------
语法
DENY select ON [表名]([字段名]) TO [用户名]
------解决方案--------------------
看不到明文,可以将被加密的字段的数据类型定义成binary或者其他的类型.
这样一来sa用户是看不见明文.只是用CAST转换,还是可以的.
问题是你要防止sa用户,那么就算你写了加密算法,sa用户不也可以使用你的解密算法来解密嘛.