2006-08-28

SQL Server 2005数据加密技术应用研究

来源: 动态网站制作指南 作者:佚名 评论 0 条
 
图2 加密后的数据的查询结果
  ⑵ 数据解密
  要解密已加密的数据,你需要重新打开对称式加密。使用DecryptByKey函数读数据,然后关闭对称式加密。结果及相应的代码如下。
OPEN SYMMETRIC KEY User1SymmetricKeyCert
DECRYPTION BY CERTIFICATE User1Certificate
SELECT CustID, Name, City,
CONVERT(VARCHAR, DecryptByKey(CreditCardType))
AS CardType,
CONVERT(VARCHAR, DecryptByKey(CreditCardNumber))
AS CardNumber,
CONVERT(VARCHAR, DecryptByKey(Notes))
AS Notes
FROM Customer WHERE CustID = 4
CLOSE SYMMETRICKEYUser1SymmetricKeyCert

图3 对加密数据进行解密后的结果
  这个例子显示了让SQL Server 2005为你治理密钥的一种方法。但实际上,用户总是选择自己提供一个口令的方式,用RC4算法产生对称密码。代码如下:
CREATE SYMMETRIC KEY User2SymmetricKeyPwd
AUTHORIZATION User2
WITH ALGORITHM = RC4
ENCRYPTION BY PASSWORD = 'sdylvxF&imeG3FP'
  SQL Server 2005产生一个基于用户提供的口令的密钥来加密数据。除非明确指定,否则口令不保存在SQL Server 2005中,用户必须保护好自己的口令,否则任何一个知道口令的人都可以解密数据。
  假如认为对存储在数据库中的数据加密完全是浪费处理器时间和存储空间那就错了。SQL Server 2005中的数据加密是一个非凡的特性,它为客户的数据提供了一个重要的保护层。但应用时要注重,只对那些敏感机密的数据进行保护,因为加密消耗服务器处理器大量的资源,假如对一个有一千万条记录的表的每个字段都加密的话,运行一条没有Where 子句的SELECT 就可能导致服务器性能的崩溃。

共3页: 上一页 [1] [2] 3 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:SQL Server 2000 数据库分离与附加  
下一篇:在sqlserver2005中安装sql server 2000的示例数据库northwind
    评论加载中…
 热门排行
 推荐文章
     

 相关文章
网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号