我目前正在关注Tile Engine的教程系列,该系列使用XML文件存储NPC之间的对话。它似乎没有涵盖的主题(我只是快速浏览了后续视频)是如何通过使用通用文本轻松打开XML文件来防止用户提前更改或了解NPC要说的内容编辑器。
能够阅读未来对话的第二点不是一个真正的问题,而是我想要考虑的事情,所以如果这很难实现,我现在也不会太激动。
我如何才能使XML不可编辑?我隐约知道CRC32可以检查文件的完整性,这可能是有用的,我也认为可能是更好的方法(即没有CRC32)。
我能想到的最极端的动作是为会话数据创建我自己的任意编码,但XML文件的有用性让我略微偏离了这一点,并且通过教程我跟着教我很多东西我不知道,我宁愿不要推迟离他们太远!
真正寻找方向,谢谢!
答案 0 :(得分:1)
Xml的基本原理是开放格式,所以我的意思是没有办法让xml无法使用。
但是你可以在服务器上(或在NPC会话的端点上)获得xml文档的副本(或者xml的一些指纹),然后你可以比较是否编辑了xml文档。
如果编辑了文档,你可以用备份版本替换它,或者说到端点,那xml文档已损坏......
答案 1 :(得分:0)
历史上,许多游戏将多个资源包装到一个二进制文件中。
您可以将其放在ZIP文件中(也可以更改文件扩展名)。这将允许您避免使用具有明显名称的XML文件作为用户的诱惑:)。
最终,您要问类似于DRM问题的内容。我不知道你的平台是否有答案。 (例如,“使用RSA加密”不是安全;您的程序仍然必须使用适当的密钥等在某个时刻解密数据。)