抱歉请问这么多问题,但你们似乎总是这么好的和有用的...

我需要做一些应用程序,进口数据文件。例如,用户选择一个文件和应用程序进口的一些数据数据库。

但我一直在想,而这种应用程序导致了一个问题的完整性和真实性的文件。如果一个用户更改的文件的应用程序是不允许使用这些信息。如果一个文件不是从一个来源众所周知的,该应用程序不能使用这样的文件。

我该怎么做这种事情?

P.S.:我在使用C#.NET

有帮助吗?

解决方案

身份验证和完整性提供数字签名。

按照driis的建议如果你控制文件的格式。

或者,如果文件是XML,使用 XML的签名.

使用C#/.网:

其他提示

如果可以控制源文件格式,可以嵌入数字签名。如果您基于文件内容的哈希签名,那么你可以肯定的是,文件来自受信任的来源,那就是还没有被篡改。

这取决于你有多强需要这种保护。

例如,可以有具有其中包含的原始文件(+盐)的散列的散列节点某处的XML文件(用于人类可读性)。这可以通过程序进行更新,但用户可以有一个更难的时间搞清楚什么是重要手段。当程序打开文件,它计算的散列,并检查它是否一样的一个写入的文件中。

您可以进一步采取一步到位和使用数字签名,但是,这是方式更复杂了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top