我需要一个VARBINARY值的字符串表示,并将它转换回实际的VARBINARY值,但是如何实现呢?
我想获取以下查询的结果,并将其转换回VARBINARY值,以便将其解密为原始值?
CREATE TABLE Table1 (
FirstName varchar(32) NOT NULL,
LastName varchar(32) NOT NULL,
Social varbinary(128) NOT NULL)
OPEN SYMMETRIC KEY KEY_NAME
DECRYPTION BY CERTIFICATE CERT
INSERT INTO Table1(FirstName,LastName,Social)
VALUES ('John','Doe',ENCRYPTBYKEY(Key_Guid('KEY_NAME'),'123-45-6789'))
SELECT CONVERT(varchar(max), social,1) Social
FROM Table1
WHERE LastName='Doe'发布于 2019-01-16 19:34:04
因此,一般来说,您将使用convert往返于varbinary和varchar。您需要使用2作为样式,而不是使用1来获得字符串表示形式。如果要进行文字转换,请使用默认的0。
declare @v varbinary(128) = (select cast('ThisIsMyPassword' as varbinary(128)))
select
@v as Val
,convert(varchar(max),@v,2) as String
,convert(varchar(max),@v,0) as Literalhttps://stackoverflow.com/questions/54224011
复制相似问题