【Unity3D】本地数据加密_1
来源:互联网 发布:ubuntu麒麟 下载 编辑:程序博客网 时间:2024/06/05 04:44
游戏的本地数据是相当重要的,像职业表,装备表等等,这些数据就是整个游戏的骨骼,没有它的支撑,即使游戏创意新颖,画面华丽那也不过是一摊肥肉而已。
而用于存放这些数据的方式也相当繁杂,有人用XML,有人用Json,有人用SQLite也有人直接用记事本或者CSV之类的纯文本。
虽然不能说上述的几种形式有什么不好,但是从安全和性能的角度来将,这几种方式也不算合理。
Json的序列化和反序列化的效率都是比较低的,SQLite更是用到sql语句进行查询这个效率就更低了,XML相对与这几者来说算是比较中庸,而CSV和纯文本,不推荐使用,因为这会使游戏数据变的相当难以管理,甚至随着字段的增多数据的对应关系都难以分清。
而假如游戏是一个经典RPG的话,那剧情文本将非常庞大,此时用JSON或者SQLite,就显得格格不入,也许玩家会认为你是在与他作对。
我们知道,游戏本地数据是在游戏开始之前就全部读入内存以备不时之需。这种数据一般也不会很多,一个商城表或者技能表能达到几百条就很大了,装备道具也许会比较多,但也是视游戏规模和丰富程度决定,因此我们应尽量把此类数据加密并压缩到最小。
举例子说,一个商城表有20条数据,5个字段分别是ID,名字,图标,价格,和描述,如下图
直接保存为Excel占用空间32K,保存为CSV则占用空间5K。Excel在非Windows平台无法读取,CSV还是比较合适的,但是它却无法保证数据的安全性和易维护性。
数据的加密压缩方式有很多,接下来就介绍笔者所使用的一种方式,当然技术能力有限,只能做到简单的加密。
而对于读取数据,为了弥补解密和解压缩的消耗,读取应该采用流读取的方式,以二进制流来读取数据,性能就非常高了。
先简单介绍到这,下一篇将阐述加密和流读取的过程和原理。
这里是GQY,一个游戏爱好者,我们下篇见。
- 【Unity3D】本地数据加密_1
- 【Unity3D】本地数据加密_2
- Unity3d数据加密
- android本地数据加密
- unity3d中加密保存本地存档
- Unity3D本地数据存储读取
- Untiy3D-本地数据加密PlayerPrefs
- Unity3D-PlayerPrefs本地数据保存读取
- 如何在AIR中加密本地数据
- Android本地数据AES加密,使用AndroidKeyStore
- unity3D加密
- Unity3D保存数据到Json(加密、解密)
- 如何在AIR中加密本地数据(转)
- 解决C#的本地数据加密(DLL文件存储)
- Cocos2d-x教程(25)-本地数据加密
- Cocos2d-x教程(25)-本地数据加密
- Oracle 数据存储结构_1
- unity3d AssetBundle包加密
- linux设备驱动模型之 kset原理与实例分析
- 基于CMakelists的程序调试--QT
- compution average in python: mean(),pivot_table()
- Eclipse安装SVN插件(本地安装)
- XML的解析
- 【Unity3D】本地数据加密_1
- osi七层模型,TCP/IP四层模型
- HDU 1506 Largest Rectangle in a Histogram(dp求最大子矩阵和)
- Maven Plugins
- POJ 1273&Dinic解决
- HDU1032:The 3n + 1 problem(比较运算次数)
- 遥感常用数据下载链接
- 华为2017年大牛机试题—最长回文字符串
- POJ 1703 并查集