对不起,让问这么多问题,但你们似乎总是那么好,乐于助人......
我需要做一些应用程序,从文件导入数据。 例如,用户选择一个文件和应用程序导入一些数据到数据库中。
但是,我一直在思考,并且这种应用程序会导致完整性和文件的真实性的问题。 如果用户更改文件的应用程序不允许使用该信息。 如果一个文件从源并不为人熟知,应用程序无法使用该文件。
我该怎么做这种事情?
PS:我使用C#.NET
对不起,让问这么多问题,但你们似乎总是那么好,乐于助人......
我需要做一些应用程序,从文件导入数据。 例如,用户选择一个文件和应用程序导入一些数据到数据库中。
但是,我一直在思考,并且这种应用程序会导致完整性和文件的真实性的问题。 如果用户更改文件的应用程序不允许使用该信息。 如果一个文件从源并不为人熟知,应用程序无法使用该文件。
我该怎么做这种事情?
PS:我使用C#.NET
认证和完整性由数字签名提供。
按照driis的意见,如果你控制文件格式。
或者,如果该文件是XML,使用XML签名 。
使用C#/。NET:
如果你能控制的源文件格式,你可以嵌入一个数字签名。 如果您基于文件内容的哈希签名,那么你可以肯定的是,文件来自受信任的来源,那就是还没有被篡改。
这取决于你有多强需要这种保护。
例如,你可以有哪些地方有一个哈希节点包含原始文件(+盐)的哈希的XML文件(易读性)。 这可以通过程序进行更新,但用户可以有一个更难的时间搞清楚什么是重要手段。 当程序打开文件,它计算哈希值,并检查它是否同为一个书面的文件中。
你甚至可以更进一步,使用数字签名,但这是方式更复杂。