如何对整个数据库加密?用的是sql server2005

ddlik 2009-09-05 12:52:09
因为数据库涉及考卷,较为敏感。
有没有办法,可以一次性把整个数据库的内容加密?
即,即一般人用它自己的username, password就只能打开数据库看到些乱码。

而用程序写一个连接conn,里面加某个参数就可以解密的读取数据库的内容。

-----------------------------------------------------------------------
现阶段,我只懂得用不同sql语句,对个别field用EncryptByKey(Key_GUID('xxxxx'),CONVERT(varchar(max),field1))
...之类的方法加密以及解密。
但是由于将会应用到一个现有的程序里,如果每个sql语句都改的话,工作量会非常大。

所以希望能够只是改动一个conn语句能达到以上目的。
-----------------------------------------------------------------------
...全文
1999 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
ws_hgo 2012-08-21
  • 打赏
  • 举报
回复
-Tracy-McGrady- 2012-08-21
  • 打赏
  • 举报
回复
3楼终于让我看到希望了
haitao 2012-03-19
  • 打赏
  • 举报
回复
2008据说可以

2005,只能把字段内容加密后存入,这样,like/>/<都不行了,=还是可以的
MrGony 2012-03-19
  • 打赏
  • 举报
回复
求关注:如何在别人拷贝了数据库文件的情况下,需要验证通过才能够附加数据库成功?
无奈寂寞 2011-03-23
  • 打赏
  • 举报
回复
<input type="text">
dawugui 2009-09-22
  • 打赏
  • 举报
回复
没听说过对数据进行加密的,友情帮顶.
13abyKnight 2009-09-22
  • 打赏
  • 举报
回复
小F,强悍。。
学习。
claro 2009-09-22
  • 打赏
  • 举报
回复
对数据加密如果不好处理,为何不从登录限制入手呢?
ORARichard 2009-09-22
  • 打赏
  • 举报
回复
1. 建立一个新的用户, 对该用户分配对所有对象的访问权限。
2. deny Public role对所有对象的访问权限。

3. 在程序中,让用户登录数据库,如果成功,则对上述新用户建立对数据库的连接访问。
alonso_hu 2009-09-21
  • 打赏
  • 举报
回复
mark


学习哦
zhanlang9075 2009-09-20
  • 打赏
  • 举报
回复
楼主,请快点结帖给分把
netcup 2009-09-09
  • 打赏
  • 举报
回复
貌似最好采用SQL2008的透明数据加密了。
mengqingfeier 2009-09-09
  • 打赏
  • 举报
回复
正发愁呢,这不有学了一招,谢了!
dahutu007 2009-09-09
  • 打赏
  • 举报
回复
学习了!!
qqyatou 2009-09-08
  • 打赏
  • 举报
回复
mark
zhanlang9075 2009-09-08
  • 打赏
  • 举报
回复
好样的,学习中
Zoezs 2009-09-07
  • 打赏
  • 举报
回复
学习。
ddlik 2009-09-07
  • 打赏
  • 举报
回复
以下是msdn论坛上的答复。到底听谁的???

如何对整个数据库加密?用的是sql server2005
2009年9月5日

登录进行投票因为数据库涉及考卷,较为敏感。
有没有办法,可以一次性把整个数据库的内容加密?
即,即一般人用它自己的username, password就只能打开数据库看到些乱码。

而用程序写一个连接conn,里面加某个参数就可以解密的读取数据库的内容。

-----------------------------------------------------------------------
现阶段,我只懂得用不同sql语句,对个别field用EncryptByKey(Key_GUID('xxxxx'),CONVERT(varchar(max),field1))
...之类的方法加密以及解密。
但是由于将会应用到一个现有的程序里,如果每个sql语句都改的话,工作量会非常大。

所以希望能够只是改动一个conn语句能达到以上目的。
-----------------------------------------------------------------------

回复引用
全部回复
2009年9月5日 9:12stswordmanMSFT, Moderator
0登录进行投票没有办法办到,2005自身不提供这种功能。使用第三方解决方案或者升级到2008,使用透明加密
并且2005中的密文大小的上限是8k,大于大字段要现将内容分割后才能加密
--------------------------------------------------------------------------------
SQL SERVER Engine Test
回复引用
2009年9月5日 10:14Stone Z
0登录进行投票既然在设计最开始没有考虑到加密数据的问题,那么目前最简单的事情就是保护好 数据库的用户名和密码

并且删除sql 的windows账户,然后在保护好能登陆本机器的账户(windows)

然后保护好机器的物理安全,这样应该能够很大程度的保证 内容安全。


--------------------------------------------------------------------------------
family as water
回复引用
华夏小卒 2009-09-05
  • 打赏
  • 举报
回复
等高手瞧瞧
xman_78tom 2009-09-05
  • 打赏
  • 举报
回复
据我所知,在 sql server 2005 中只能用 EncryptByKey/DecryptByKey 对单个列的值进行加密/解密。

你的要求可能无解。
加载更多回复(12)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧