我想知道是否有任何属性或任何方式我想加密表的一列,所以每当我在表中插入或更新任何行时,列会自动加密该数据,并在选择它时解密和数据并获取值那一栏。
问问题
200 次
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 回答