Ult*_*mer 0 save platform-independent unity-game-engine
我正在寻找一种保存用户游戏进度的方法,我正在寻找无法篡改/修改的东西。我希望能够独立于平台。我希望它存储在游戏文件中,以便用户可以将他们的数据传输到不同的计算机(使用闪存驱动器或其他东西)。(如果我在任何方面错了,请纠正我)但我相信,因为我需要安全且独立于平台,从而将玩家偏好从等式中删除。我知道有一种方法可以通过使用二进制加密来保存数据,但我不知道它是如何工作的以及用户是否可以将数据从计算机传输到计算机。有没有更好的方法来保存数据?加密是通过二进制的方式吗?如果是这样我会怎么做?谢谢:)如果您有任何问题,请随时询问。
编辑:我知道没有什么是完全安全的,我正在寻找可以阻止普通用户进入文件、更改浮动以及在游戏中拥有大量资金的东西。
前面的答案提到了两种存储数据的好方法(尽管在不同平台上写入文件仍然存在一些怪癖),我想补充一下安全性主题,正如此处的评论中所提到的。
首先,没有什么是完全安全的,总有一些更聪明的人会在你的代码中发现一个缺陷,也许除非你想要完整的加密,这对于密钥管理等来说并不是微不足道的。
我从问题中了解到,他想要阻止用户在机器之间移动文件,或者允许他们在机器之间移动文件,但将其密封,以便用户不能轻易更改存储在其中的数据。
无论哪种情况,一个简单的解决方案都可以:从数据集中生成一个哈希码,稍微修改一下(加盐或做任何事情来跳转到另一个哈希码)。所以你可以有类似的东西
{
"name"="john",
"score"="1234",
"protection"="043DA33C"
}
Run Code Online (Sandbox Code Playgroud)
如果“保护”字段是“john1234”的哈希码,它将与“john9999”不匹配,因此如果用户不知道如何加盐保护,您将能够知道保存已被篡改