详述SQL Server 2005对称密钥加密技术
http://tech.ddvip.com 2007年10月30日 社区交流
内容摘要:SQL Server 2005一个令人激动的特性是内置了加密的功能。在这个新版的SQL Server中,开发团队直接在T-SQL中加入了加密工具、证书创建和密钥管理的功能。对于因为法律要求或商业需求而需要加密表中的数据的人来说,这是一个好礼物。对于犹豫是否用加密来保证数据安全的人来说,做决定也更容易了。这篇文章介绍新的加密功能是怎么工作,怎么使用。
3. 对称密钥
可以使用证书来创建用来在数据库中进行加密和解密的对称密钥。使用CREATE SYMMETRIC KEY语句:
CREATE SYMMETRIC KEY key_name [ AUTHORIZATION owner_name ]
WITH <key_options> [ , ... n ]
ENCRYPTION BY <encrypting_mechanism> [ , ... n ]
<encrypting_mechanism> ::=
CERTIFICATE certificate_name |
PASSWORD = 'password' |
SYMMETRIC KEY symmetric_key_name |
ASYMMETRIC KEY asym_key_name
<key_options> ::=
KEY_SOURCE = 'pass_phrase' |
ALGORITHM = <algorithm> |
IDENTITY_VALUE = 'identity_phrase'
<algorithm> ::=
DES | TRIPLE_DES | RC2 | RC4 | DESX | AES_128 | AES_192 | AES_256
同CREATE CERTIFICATE语句一样,CREATE SYMMETRIC KEY语句相当灵活。多数情况下,你只需使用少量的选项。如下例中,创建一个对称密钥,它使用前节中创建的证书来加密:
CREATE SYMMETRIC KEY TestSymmetricKey WITH ALGORITHM = TRIPLE_DES ENCRYPTION BY CERTIFICATE TestCertificate;
对称密钥可以用另一个对称密钥、非对称密钥、密码或证书来加密。系统也提供了ALTER SYMMETRIC KEY和DROP SYMMETRIC KEY语句来管理对称密钥。这些语句的用法请参考联机丛书。
当删除密钥和证书时,删除的顺序很重要。SQL Server不会允许你删除还在被用来加密其他密钥的证书和密钥。
3.1 对称密钥加密
SQL Server使用下面的函数来进行对称密钥加密:EncryptByKey,DecryptByKey和Key_GUID。Key_GUID返回特定对称密钥的GUID。语法为:
作者:Michael Coles 责编:豆豆技术应用
- SQL Server 2008 教程
- SQL Server 2005 教程
- SQL Server 安全设置
- SQL Server 故障解决
- SQL Server 安装配置
- SQL Server 备份恢复
- SQL Server 性能调优
- SQL Server 存储过程
- SQL Server 函数
- SQL Server 事务
- SQL Server 查询
- SQL Server 索引
- SQL Server 入门教程
- SQL Server 数据类型
- SQL Server 数据库表
- SQL Server T-SQL
- SQL Server 语句
- SQL Server 死锁
- SQL Server 加密
- SQL Server 数据库连接
- SQL Server 数据仓库
- SQL Server 数据库管理
- 更多SQL Server 专题>>>