我们正在尝试使用Asp.net Identity 2.0的Sql 2016的Always Encrypted功能。我们在PhoneNumber和Email列上设置了Always Encrpted。我们能够加密电话号码,但当我们尝试加密电子邮件列时,帐户控制器中的注册方法失败。当我们尝试注册时,我们得到以下异常:
System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()”, “InnerException”:{“Message”:“发生错误。”, “ExceptionMessage”:“操作数类型冲突:nvarchar(256)加密 (encryption_type ='DETERMINISTIC',encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256',column_encryption_key_name = 'CEK_Auto1',column_encryption_key_database_name = 'StoreIdentityEF6AE')collation_name ='Latin1_General_BIN2'是 与varchar“,”ExceptionType“不兼容: “System.Data.SqlClient.SqlException”,
是否有人遇到此问题并成功解决?寻找使用Asp.net Identity加密客户数据的一些建议
答案 0 :(得分:0)
我已经解决了我的问题。
ASP.NET Identity使用UserStore。 此文件包含一些方法,如FindByNameAsync,它们搜索给定的名称,但在查询中将其转换为ToUpper。
使用ToUpper转换无法查询“始终加密”列。