在SQL Server中查询加密数据

时间:2017-04-27 06:25:23

标签: sql sql-server encryption certificate sql-server-2014

对于特定要求,我将加密数据库中的所有个人数据。 我正在使用证书,我导入到SQL Server,到目前为止一直很好。

当然,我可以做到

DECLARE @Passwd nvarchar(128) = 'CertPassword'
SELECT Email as EmailEncrypted,
    CAST
    (
        DECRYPTBYCERT
        (
            CERT_ID('Cert'),
            Email,
            @Passwd
        ) AS varchar(128)
    ) AS EmailDecrypted

它会显示实际数据。

但是如果我想根据特定的电子邮件进行查询呢?

我已经读过一个方法,一种方法是创建一个额外的列,其中包含加密字节的哈希值和该列的查询;听起来不错,但并不理想。

还有其他可靠的查询加密数据的方法吗?

0 个答案:

没有答案