我知道您可以转换binary data
为nvarchar
并保存在列中,然后在检索时nvarchar
将其转换回。binary
这会一直正确地为您提供原始binary
数据吗?或者翻译中可能会出现问题?
我问是因为我们有一nvarchar
列以纯文本形式保存密码。我希望将其更改为将 PW 保存在加密文本中。如果我使用该函数EncryptByPassPhrase
,它会返回varbinary
。我想知道我是否可以将输出从转换EncryptByPassPhrase
为nvarchar
并保存在同一个密码列中。这比创建一个新的类型列varbinary
来保存加密的 PW 更容易。
所以我建议我像这样转换当前密码:
UPDATE Users
SET Password = CONVERT(nvarchar(200), EncryptByPassPhrase('whatever', Password))
然后我将解密并检索 PW,如:
SELECT CONVERT(nvarchar(200), DecryptByPassPhrase('whatever', Password)) AS PW
FROM Users
这会一直正常工作吗?
提前致谢!