繁体   English   中英

签名文件档案的内容

[英]Signing contents of a file archive

假设我有一个类似于Zip或Rar的自定义文件存档格式。 然后,我正在开发的一款小游戏将在运行时读取存档的文件,这些文件可能是纹理,声音,XML文件或其他内容。

现在,我想要一种验证档案(甚至档案中单个文件)真实性的方法,以便游戏可以区分由我发布的“官方”文件和由某些modder发行的修改文件或档案。 游戏仍然应该能够很好地读取修改后的文件,但是它将显示某种警告或有关已修改数据的提示。

我该怎么办? C#中的哪些加密或签名功能可能有用? 那甚至可行还是我不在乎?

调查RSACryptoServiceProvider: http : //msdn.microsoft.com/zh-cn/library/system.security.cryptography.rsacryptoserviceprovider.aspx

您可以使用它来生成RSA密钥对,并使用私钥对文件的哈希签名。 然后,您可以使用公共密钥(存储在可执行文件中)来验证签名。

幸运的是,System.IO.Packaging命名空间包括对数字签名的支持,这些签名是开放包装约定(OPC)的一部分。 看到:

http://msdn.microsoft.com/zh-CN/library/system.io.packaging.package.aspx http://msdn.microsoft.com/en-us/library/aa905326.aspx

OPC文件是一种ZIP文件,其格式符合OPC规范。 OPC文件可以包含数字签名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM