【发布时间】:2016-09-16 17:08:24
【问题描述】:
我遇到了 SQL Server 截断加密值的问题。这似乎很奇怪,因为它加密的字符串的长度根本不长。
如果我在查询窗口中执行以下 SQL:
OPEN SYMMETRIC KEY MySymmetricKey DECRYPTION BY CERTIFICATE MyCertificate;
SELECT
CONVERT(nvarchar, DecryptByKey(
ENCRYPTBYKEY(KEY_GUID('MySymmetricKey'), convert(varbinary(8000), cast('hellothisisastringwhichisntverylong' AS nvarchar(max))))
))
输出是:“hellothisisastringwhichisntver”
我查看了很多示例,但是我看不出我做错了什么?
我还应该指出,我已经尝试过不使用 nvarchar(max) 和 varbinary(8000) 的变体,它们不会改变结果。
干杯!
【问题讨论】:
标签: sql-server