SQL Server 2005对数据进行加密

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 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'
DECLARE   @encryptStr   VARBINARY ( 500 )
SELECT   @encryptStr = EncryptByKey(Key_GUID( ' SSN_Key_01 ' ),  ' 123433534534534 ' )
SELECT   @encryptStr

-- 解密刚刚加密的数据,结果应该是'123433534534534'
SELECT   convert  (  VARCHAR , decryptbykey ( @encryptStr ) ) 
使用证书的情况类似,先创建证书,
然后利用证书:创建一个密钥、打开密钥、加密、解密
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值