代码乱了(靳如坦的技术blog)

专注于.net,c#,Ajax、Sql Server、SmartClient等相关的开发
posts - 102, comments - 575, trackbacks - 12, articles - 2
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

SQL Server 2005对数据进行加密

Posted on 2008-03-01 11:53 代码乱了 阅读(257) 评论(0)  编辑 收藏 网摘 所属分类: SQL Server
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://www.cnblogs.com/jintan/archive/2008/03/01/1087070.html

SQL Server 2005内置加密功能

密钥管理是加密安全框架中最重要的环节。SQL Server 2005 支持三种加密类型。每种类型使用一种不同的密钥,并且具有多个加密算法和密钥强度,如下所述:

对称加密:SQL Server 2005 支持 RC4、RC2、DES 和 AES 系列加密算法。

非对称加密:SQL Server 2005 支持 RSA 加密算法以及 512 位、1,024 位和 2,048 位的密钥强度。

证书:使用证书是非对称加密的另一种形式。但是,一个组织可以使用证书并通过数字签名将一组公钥和私钥与其拥有者相关联。SQL Server 2005 支持“因特网工程工作组”(IETF) X.509 版本 3 (X.509v3) 规范。一个组织可以对 SQL Server 2005 使用外部生成的证书,或者可以使用 SQL Server 2005 生成证书。


使用 EncryptByKey() 函数或 DecryptByKey() 函数将含有敏感数据的列中的数据加密或解密。


示例:

--作者:代码乱了(靳如坦)  http://jintan.cnblogs.com
--
创建一个对称加密的密钥,使用DES
CREATE SYMMETRIC KEY SSN_Key_01 
WITH ALGORITHM = DES 
ENCRYPTION 
BY PASSWORD = 'password' 

--打开密钥SSN_Key_01
OPEN SYMMETRIC KEY SSN_Key_01 
DECRYPTION 
BY PASSWORD = 'password' 

--加密数据'123433534534534'
SELECT EncryptByKey(Key_GUID('SSN_Key_01'), '123433534534534');

--解密刚刚加密的数据,结果应该是'123433534534534'
SELECT convert 
varchar , 
    decryptbykey 
    ( 
        EncryptByKey ( Key_GUID ( 
'SSN_Key_01' ) , '12' ) 
    ) 



使用证书的情况类似,先创建证书,
然后利用证书:创建一个密钥、打开密钥、加密、解密

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-03 00:05 编辑过
Google站内搜索



相关文章:


相关搜索:
加密 SQL Server2005 DES

相关链接: