我知道您可以转换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
这会一直正常工作吗?
提前致谢!