WEB开发网
开发学院数据库MSSQL Server SQL Server 2005数据加密技术应用研究 阅读

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

 2006-11-18 09:15:59 来源:WEB开发网   
核心提示: ⑴ 数据加密① 产生密钥:在含有Customers 表的数据库中使用Triple DES作为加密算法,生成对称式密钥,SQL Server 2005数据加密技术应用研究(4),本例中,密钥本身由已经存在在数据库中的证书保护,储存加密数据的字段是varbinary类型数据,其长度足以储存扩展

⑴ 数据加密

① 产生密钥:在含有Customers 表的数据库中使用Triple DES作为加密算法,生成对称式密钥。本例中,密钥本身由已经存在在数据库中的证书保护,如图一所示,对称密码受非对称密码和存在的其他对称式密钥保护。

CREATE SYMMETRIC KEY User1SymmetricKeyCert
AUTHORIZATION User1
WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE User1Certificate

② 打开密钥:对称式密钥使用前必须显式打开,所以接下来打开它,重新找回密码,解密它,并放它在受保护的服务器内存中,准备使用。

OPEN SYMMETRIC KEY User1SymmetricKeyCert
DECRYPTION BY CERTIFICATE User1Certificate

③ 加密数据:在下面的代码中,使用正常的T-SQL INSERT语句将一行数据插入表中,id、name和city 用明文保存,信用卡类型、号码以及有潜在机密的客户注释用加密方式储存,用Triple DES加密算法加密数据。

INSERT INTO Customer
VALUES (4, 'John Doe', 'Fairbanks',
EncryptByKey(Key_GUID(
'User1SymmetricKeyCert'), 'Amex'),
EncryptByKey(Key_GUID(
'User1SymmetricKeyCert'),
'1234-5678-9009-8765'),
EncryptByKey(Key_GUID(
'User1SymmetricKeyCert'),
'Window shopper. Spends $5 at most.'))

加密完成后,关闭它,释放内存,以防它被误用。

CLOSE SYMMETRIC KEY User1SymmetricKeyCert

以上是整个的数据加密的操作过程。它没有混乱的密码管理,也不用调用特别的算法。储存加密数据的字段是varbinary类型数据,其长度足以储存扩展的数据(加密数据比明文需要更多的空间,有时候多很多)。

上一页  1 2 3 4 5  下一页

Tags:SQL Server 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接