我知道您可以将
我之所以问这个问题,是因为我们有一个
因此,我建议像这样转换当前密码:
然后我会解密并检索出密码,如下所示:
二进制数据
转换为nvarchar
并保存在nvarchar
列中,然后在检索时将其转换回二进制
。这样做是否能始终正确地给您原始的二进制
数据?或者在转换过程中会出现什么问题?我之所以问这个问题,是因为我们有一个
nvarchar
列,用于以明文形式保存密码。我希望将其更改为以加密文本形式保存密码。如果我使用函数EncryptByPassPhrase
,它会返回varbinary
。我想知道是否可以将从EncryptByPassPhrase
输出的内容直接转换为nvarchar
并保存在同一Password列中。这比创建一个新的varbinary
类型的列来保存加密密码要容易得多。因此,我建议像这样转换当前密码:
UPDATE Users
SET Password = CONVERT(nvarchar(200), EncryptByPassPhrase('whatever', Password))
然后我会解密并检索出密码,如下所示:
SELECT CONVERT(nvarchar(200), DecryptByPassPhrase('whatever', Password)) AS PW
FROM Users
这个会一直正常运行吗?
提前感谢!
VARBINARY
列,而不是 NVARCHAR。 - Remus Rusanu