3

嗨,我有一个用 Java 和 Slick2d 制作的游戏,我有一个包含我所有资源(图像、声音等)的文件夹,我想知道如何加密它们以使人们无法编辑它们?我尝试了 MD5,但我不确定它是如何工作的,而且我不担心有人闯入代码,因为我已将 jar 拼接到一个 exe 文件中。另外,如果我需要知道如何解密文件以便它们可以在代码中使用,请也解释一下。

4

3 回答 3

2

没有办法保护图像/资源,你所能做的就是让它稍微难一点。如果您将图像/资源交付给客户端,那么他们总是可以解密它们,毕竟客户端必须在某个时间点显示它们未加密。

顺便说一句:MD5是一种哈希算法,用于检查数据是否完好无损。

于 2013-02-27T22:04:58.450 回答
1

MD5是一个不可逆的散列函数,两个输入可能产生相同的输出。

如果文件的内容不是“秘密”,您可以使用 MD5 进行验证过程,这应该很容易。

  • 使用您的应用程序使用的所有资源的哈希创建一个哈希表(或只是一个表)
  • 一旦applet lanched为每个文件创建一个哈希值并将其与您的表进行比较,如果它不一样,则有人更改了您的jar 文件的内容。

我建议将哈希表保留在代码中,这样会更难修改

于 2013-02-27T22:02:47.300 回答
0

如果您正在使用您的资源,则必须对其进行解密,然后客户端才能使用它们,因为它们正在游戏中使用。

于 2013-03-27T17:06:43.667 回答