繁体   English   中英

加密 - 在SQl Server 2008中使用法语单词解密

[英]Encryption - Decryption with French Words in SQl Server 2008

我想在我的表格中使用EncryptByKey添加像Catégories这样的法语单词。 这是我的查询:

OPEN SYMMETRIC KEY SymmetricKey1
DECRYPTION BY CERTIFICATE Certificate1;
insert into tbl_Name (Name)
values (EncryptByKey( Key_GUID('SymmetricKey1'), CONVERT(Nvarchar,'Catégories')))

但是当我用以下查询检索值时,我得到了慃㽴潧楲獥而不是Catégories

OPEN SYMMETRIC KEY SymmetricKey1
DECRYPTION BY CERTIFICATE Certificate1;
SELECt CONVERT(NVARCHAR(max),DECRYPTBYKEY(Name)) as Name from tbl_Name 

你能帮帮忙吗?

我认为这个问题是由于数据存储在UNICODE数据类型中的归类 我认为您需要的是,当您选择数据时,您希望确保对执行请求的用户(即他们的区域设置)使用适当的排序规则。

你可以尝试这样:

OPEN SYMMETRIC KEY SymmetricKey1
DECRYPTION BY CERTIFICATE Certificate1;

insert into tbl_Name (Name)
values (EncryptByKey( Key_GUID('SymmetricKey1'), N'Catégories'))

N将确保数据以unicode格式存储在数据库中。

写法语单词和前缀' N '将字符串标记为Unicode,然后加密:

insert into tbl_Name (Name)
values (EncryptByKey( Key_GUID('SymmetricKey1'), N'Catégories'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM