Sql server 2008 在SQL Server 2008中,如何将加密数据转换为字符串并解密数据
在SQL Server 2008中,如何将加密数据转换为字符串并解密数据 我试过以下方法 加密数据:Sql server 2008 在SQL Server 2008中,如何将加密数据转换为字符串并解密数据,sql-server-2008,Sql Server 2008,在SQL Server 2008中,如何将加密数据转换为字符串并解密数据 我试过以下方法 加密数据: SELECT CONVERT([varchar](512), EncryptByPassPhrase('Nessis22',CONVERT(NVARCHAR(MAX), '6234')), 2) SELECT CONVERT(VARCHAR(MAX), DecryptByPassPhrase('Nessis22' , 0x01000000F2AA862E820415737E99
SELECT
CONVERT([varchar](512), EncryptByPassPhrase('Nessis22',CONVERT(NVARCHAR(MAX), '6234')), 2)
SELECT
CONVERT(VARCHAR(MAX), DecryptByPassPhrase('Nessis22'
, 0x01000000F2AA862E820415737E99B1EDA7D3EF47225DAA898A744B118908BE626EE2510E))
结果:
0x01000000F2AA862E820415737E99B1EDA7D3EF47225DAA898A744B118908BE626EE2510E
解密数据:
SELECT
CONVERT([varchar](512), EncryptByPassPhrase('Nessis22',CONVERT(NVARCHAR(MAX), '6234')), 2)
SELECT
CONVERT(VARCHAR(MAX), DecryptByPassPhrase('Nessis22'
, 0x01000000F2AA862E820415737E99B1EDA7D3EF47225DAA898A744B118908BE626EE2510E))
输出:
(No column name)
6
数据被截断了。如何获取完整字符串?在解密选择中使用NVARCHAR:
select convert(NVARCHAR(max),DecryptByPassPhrase('Nessis22'
, 0x01000000F2AA862E820415737E99B1EDA7D3EF47225DAA898A744B118908BE626EE2510E))
您不能将
加密的结果存储为varchar(512)
。函数被记录为返回varbinary(8000)
,这就是您应该将结果存储为的内容。