C#加密XML并保护其免于拆卸

时间:2018-11-13 03:00:42

标签: c# encryption

我正在做一个更大的应用程序,该应用程序有时会对XML文件进行序列化/反序列化。问题是,我需要对其中的一些XML文件进行加密。

基本上,加密的文件将由我的教授为他的学生制作。就像一个black-box,所以我的教授在我的应用程序中准备了一个类,对其进行序列化,此外,我的应用程序还将对整个XML进行加密。然后,学生将XML加载到应用程序中,但他们不知道其中包含什么。我想到了一种简单的加密技术AES。我会将加密/解密的密钥存储为代码中的字节。

但是后来我想到,每个学生都可以选择dotPeek之类的东西,或者反汇编我的可执行文件,然后获取密钥并能够解密每个加密的XML文件。现在那是我不允许的。

我正在互联网上搜索可能的解决方案,但找不到答案。

你们能想到做这种事情的任何方式吗?该应用程序将使用C#编写,并且在重要的情况下可以在Windows 7/10上运行。

1 个答案:

答案 0 :(得分:0)

如果它是一个多用户应用程序,则需要通过个人用户身份验证和授权来确保文件的所有权。

服务器应该能够验证客户端的传入请求并相应地提供授权文件。

为每个用户维护不同的加密密钥;这是解密文件。请注意,拥有global-admin-enc-key容易受到攻击。

要防止重新设计代码,可以通过混淆使代码模糊。它混淆了人类代码。该线程还声称具有保护器。 How to prevent decompilation of any C# application