为什么这些对称加密值会有所不同?

时间:2017-09-25 12:55:32

标签: sql-server-2008-r2

我使用的是这样的东西:

OPEN SYMMETRIC KEY SSNKey
    DECRYPTION BY CERTIFICATE SSNCert;
UPDATE 
    Customers
SET 
    SSNEncrypted = EncryptByKey(Key_GUID('SSNKey'), 'DecryptedSSN')

SSNEncrypted是varbinary列。我注意到每次都会出现不同的值。为什么是这样?我该怎么做才能获得一致的加密值,所以我可以在不同的表中对它们进行比较?

1 个答案:

答案 0 :(得分:1)

这是“按设计”。

函数EncryptByKeynondeterministic
但是如果你解密了不同的值,你总是得到原始的解密值。

在MSDN上查看this博客。