首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用eazfuscator json加密

禁用eazfuscator json加密
EN

Stack Overflow用户
提问于 2018-05-23 16:05:21
回答 1查看 173关注 0票数 0

当我使用eaz和newtonsoft json时,它会加密我所有的json数据。有没有办法在c#中解密或禁用数据加密?

我使用虚拟化和密码加密

EN

回答 1

Stack Overflow用户

发布于 2021-11-12 08:51:00

早在2020年,我就与Eazfuscator进行了交谈,并能够很好地使用构造函数将其集成在一起。

但是,您必须做的一件事是使用json property name属性,因为混淆的属性将被重命名,您不能确定它将获得什么名称,也不能保证“下一次”编译/混淆会生成相同的名称。

无论如何,修复方法1都足够简单,可以使用json中的名称通过构造函数进行映射

代码语言:javascript
复制
private class MyProprietaryData
{

   
   internal MyProprietaryData(string a1, int a2)
   {
      AccountNumber=a1;
      Code=a2;

   }
   
   [JsonProperty("a1")]
   public string AccountNumber{get;}

   [JsonProperty("a2")]
   public int Code{get;}
}

方法2使用json填充字段,而不是属性

代码语言:javascript
复制
private class MyProprietaryData
{
   [JsonProperty("a1")]
   string _accountNumber;

   [JsonProperty("a2")]
   int _code;
   
   internal MyProprietaryData(string accountNumber, int code)
   {
      AccountNumber=accountNumber;
      Code=code;

   }
   
   [JsonIgnore]
   public string AccountNumber  =>_accountNumber;

   [JsonIgnore]
   public int Code => _code;
}

除了.net提供的所有组合之外,您唯一应该记住的是字段重命名将像json序列化一样影响运行时生成的映射器。这在新的.net json和newtonsoft json上都有效。

你没有问它,但是一个免费的建议,当排除外部数据时,比如json,xml,gRPC总是假设数据被操纵并验证数据,你可以通过在数据中序列化的校验和字段来实现,如果是json在json构造函数注释的构造函数中进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50483018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档