隐藏.net核心项目中的字符串

时间:2016-12-15 08:13:39

标签: c# asp.net-core obfuscar

我有ASP.Net Core 1.0.1项目,其中我需要隐藏一些字符串。字符串是私有静态字段。 Obfuscar 2.2.3默认是隐藏字符串,但它没有。我也尝试使用显式值配置此配置:

<Var name="HideStrings" value="true" />
<ForceStringHiding type="MyNamespase" />

但是仍然可以通过dotPeek看到字符串。

也许我误会了什么?如何隐藏我的琴弦?

1 个答案:

答案 0 :(得分:3)

你无法可靠地隐藏&#34;任何内容&#34;内部app / library&#34;而你的应用程序需要能够解密&#34;它原创。

任何&#34;秘密算法&#34;你发明是没用的,因为所有需要解密的东西都是无用的。它包含在应用程序内(否则你的应用程序本身将无法解密&#34;),因此任何有权访问你的应用程序exe / dll的坏人都可以重复&#34;这个步骤&#34;解密&#34;隐藏价值。

如果你&#34;信任&#34;应用程序运行的服务器/计算机,并希望“隐藏”#34;一些字符串只能来自能够复制&#34;你的应用程序来自某个中间源(例如,从github repo下载你的zip发布)然后你应该使用UserSecrets库或类似的。

如果你不相信&#34;信任&#34;运行应用程序的服务器 - 您应该更改服务器/提供程序。