对于特定要求,我将加密数据库中的所有个人数据。 我正在使用证书,我导入到SQL Server,到目前为止一直很好。
当然,我可以做到
DECLARE @Passwd nvarchar(128) = 'CertPassword'
SELECT Email as EmailEncrypted,
CAST
(
DECRYPTBYCERT
(
CERT_ID('Cert'),
Email,
@Passwd
) AS varchar(128)
) AS EmailDecrypted
它会显示实际数据。
但是如果我想根据特定的电子邮件进行查询呢?
我已经读过一个方法,一种方法是创建一个额外的列,其中包含加密字节的哈希值和该列的查询;听起来不错,但并不理想。
还有其他可靠的查询加密数据的方法吗?