我有一个WinForms应用程序,它从敏感文件读取数据并使用该数据执行计算。为了保留来自人们PC的敏感信息,我们决定将计算转移到Web服务,在该服务中文件将隐藏在受保护的文件夹中,并且只能由Web服务程序本身访问。C#WinForms隐藏加密密钥
由于一些复杂性,它可能无法在所需的时间范围内保护服务器空间,所以我们现在想要做的就是使用加密来保护文件,以便它可以安全地分发给人们电脑。
我的问题是这样的。是否可以加密文件(一次,所以预加密的文件将被附加到项目),然后解密的应用程序正在使用的文件没有透露
- 文件内的敏感信息
- 加密密钥用于解密文件
我知道有可能从.exe文件生成源代码,所以我会寻找一个解决方案,铭记这一点。我对这种应用程序开发不熟悉,所以请原谅,如果这是一个愚蠢的问题,而我想要做的事实际上是不可能的。
干杯
不,这是不可能的,你只能做这两件事情很难。你不能让它变得不可能。你所能做的只是做到足够硬,不值得花费精力去尝试,而这需要花钱去做(通过专门的模糊处理软件和付费专家来查看你的代码并使其更安全) –
@ScottChamberlain就我而言,这是一个非常好的和正确的答案。 – CompuChip
执行此操作的一种方法是使用PGP加密数据文件。但是,这会很麻烦,因为每个用户都需要自己的PGP密钥和加密文件。 例如:用户向您发送他们的公钥。您加密数据并将其发送给他们。然后,他们使用他们的私钥和密码来解密文件(在应用程序中,不保存到磁盘),应用程序使用解密后的数据进行会话。 为了使这更安全,您可以将加密的数据嵌入到应用程序中,让用户在运行时输入他们的公钥和密码。 – 2016-01-06 15:42:48