Unity安全保存加载Int

本文关键字:Int 加载 保存 安全 Unity | 更新日期: 2023-09-27 18:20:14

我需要Unity的C#代码,它可以以与iOS、Android、Windows、Mac、Linux兼容的安全方式保存和加载int。它不一定要超级安全,但至少玩家不能用记事本或类似的东西打开它来更改它。

我不再在乎如何,也不在乎它是否是超级加密安全的,或者只是简单地转换数据,是否使用玩家偏好转换为字节(一直试图无效),或者是否在安装游戏的地方创建一个以某种方式加密的新文件。只是一些有效的东西!

Unity安全保存加载Int

您应该检查一下这个插件:https://www.assetstore.unity3d.com/en/#/内容/32357

免费且易于使用。你先用初始化它

ZPlayerPrefs.Initialize("somePasswordString", "someSaltString");

使用方法:

// Write
ZPlayerPrefs.SetInt("foo", 10);
// Read
int i = ZPlayerPrefs.GetInt("foo", -1 /*default value*/ );

那里使用的加密很弱(DES),但如果你说你不需要它,那就超级安全。它可以在所有平台上工作,因为它使用PlayerPrefs作为后台,这是跨平台的。

这里也有类似的东西http://forum.unity3d.com/threads/playerprefs-encryption.26437/但它很弱,只是MD5校验和加了一些盐来检查没有人篡改你的数据。

如果您需要强加密,我建议您查看SOOMLA框架,该框架使用数据库本机实现AES加密的KeyValueStorage。在没有本机代码的情况下在C#中添加更强的加密可能是一个挑战,因为Mono没有实现许多System.Security.Cryptography类,因此您将不得不手动完成大部分工作。