[英]Encryption through C# & Decryption through SQL Server 2008 for ASP.NET app
[英]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.