我需要加密我的 MS SQL 数据库中的一些列(名称、ssn ...),并且我一直在研究列加密,如一些站点所述,例如: 加密 SQL Server 中的列级数据 和 SQL Server 加密简介和对称密钥加密教程。
我已经能够在插入时使用触发器来加密列,并且可以使用以下方法在 SQL Studio 中解密该列:
OPEN SYMMETRIC KEY TestTableKey
DECRYPTION BY PASSWORD = 'Pa$$w0rd'
CONVERT(VARCHAR(50),DECRYPTBYKEY(EncryptSecondCol)) AS DecryptSecondCol
FROM TestTable
但是如何从我的应用程序访问数据?我仍然希望能够搜索名称。我唯一能想到的是使用存储过程并将解密密码作为参数发送到 LINQ 语句中,这样存储过程就可以解密数据然后执行查询。
我在正确的轨道上吗?
我是新手,所以我欢迎其他有用的建议。