5
我想加密和解密表中的一列。我的代码是这样的:奇怪的结果从DecryptByPassphrase
drop table EncryptString
go
create table EncryptString(db int, String varchar(100))
go
insert into EncryptString values (2, '123456789')
go
ALTER TABLE EncryptString
ADD StringEncrypted varbinary(256);
GO
declare @Pass nvarchar(512)
set @Pass = 'somepassword'
update EncryptString set StringEncrypted = ENCRYPTBYPASSPHRASE(@Pass, String, 1, convert(varbinary(128), db))
where db = 2
select * From EncryptString
SELECT db, StringEncrypted
AS 'Encrypted String', CONVERT(nvarchar,
DecryptByPassphrase('somepassword', StringEncrypted, 1
, CONVERT(varbinary, db)))
AS 'Decrypted String' FROM EncryptString
WHERE db = 2;
为什么我的 '解密的字符串' 是这样的: ㈱㐳㘵㠷9
感谢
这很有效。谢谢我不知道如何将问题标记为已回答??? – user1212016 2012-03-21 15:17:57
@ user1212016 - 您可以勾选答案左侧的复选标记,谢谢! – 2012-03-21 15:19:42
在遵循以下Microsoft文档之后,我遇到了同样的问题:https://msdn.microsoft.com/en-us/library/ms188910.aspx感谢您的修复和解释。 – Nick 2015-02-26 09:39:18