0

我想知道是否有任何属性或任何方式我想加密表的一列,所以每当我在表中插入或更新任何行时,列会自动加密该数据,并在选择它时解密和数据并获取值那一栏。

4

2 回答 2

0

尝试这个:

IF NOT EXISTS(select * from sys.certificates where name='EncryptTestCert')
CREATE CERTIFICATE EncryptTestCert
WITH SUBJECT = 'xyz007'

IF NOT EXISTS(select * from sys.symmetric_keys where name='TestTableKey') 
CREATE SYMMETRIC KEY TestTableKey
WITH ALGORITHM = TRIPLE_DES ENCRYPTION
BY CERTIFICATE EncryptTestCert

现在进行加密

ENCRYPTBYKEY(KEY_GUID('TestTableKey'),@string)

用于解密

DECRYPTBYKEY(@string)
于 2012-11-02T07:05:18.970 回答
0

您正在描述透明数据库加密。这可以透明、即时地加密磁盘上的数据,无需对应用程序进行任何更改。它在 SQL Server 2008 中可用,但需要企业版。

于 2012-11-02T08:46:12.123 回答