我想知道是否有任何属性或任何方式我想加密我的表的一列,所以每当我插入或更新表中的任何行时,列自动加密该数据,同时选择它解密和数据并获取该列中的值。
答案 0 :(得分: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)
对于Decrypt
DECRYPTBYKEY(@string)
答案 1 :(得分:0)
您正在描述Transparent Database Encryption。这样可以在运行时透明地加密磁盘上的数据,无需对应用程序进行任何更改。它在SQL Server 2008中可用,但需要Enterprise Edition。