我需要Unity的C#代碼,以一些安全的方式保存和加載int,它們兼容:iOS,Android,Windows,Mac,Linux。它不必是超級安全的,但至少玩家不能通過用記事本或類似的東西打開它來改變它。Unity安全地保存負載Int
我不在乎如何,或者它是超級加密的安全,還是隻是簡單地轉換數據,是否使用播放器首選項轉換爲字節(嘗試無效)或是否創建安裝遊戲的新文件以某種方式加密。只是有用的東西!
我需要Unity的C#代碼,以一些安全的方式保存和加載int,它們兼容:iOS,Android,Windows,Mac,Linux。它不必是超級安全的,但至少玩家不能通過用記事本或類似的東西打開它來改變它。Unity安全地保存負載Int
我不在乎如何,或者它是超級加密的安全,還是隻是簡單地轉換數據,是否使用播放器首選項轉換爲字節(嘗試無效)或是否創建安裝遊戲的新文件以某種方式加密。只是有用的東西!
你應該看看這個插件: https://www.assetstore.unity3d.com/en/#!/content/32357
免費和易於使用。你有
ZPlayerPrefs.Initialize("somePasswordString", "someSaltString");
首先初始化它給useit:
// 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類,因此您必須手動完成大部分工作。