关于游戏数据加密防作弊开发
我觉得啊,简单点开发的话,用access数据库保存游戏各种元素的基础数据。
这些数据肯定要加密的,目前只知道对里面内容用des加密~因为听说就算对数据库文件加密,也可以通过工具得到没有被加密的数据库文件~~
1.请问现在流行的加密方式是什么呢?
然后是游戏记录保存的问题。
我觉得全部对象都丢到一个List<T>里面,然后序列化到硬盘里去。读取数据时再拿出来反序列化赋值给游戏对象。
2.请问这样做是否可行?
这应该是挺有帮助的话题,大家讨论一下吧^_^
我再来说几句吧!
说说你第二个问题的可行性
其实个人感觉应该不会用List的,访问效率太低阿!
(list对频繁插入删除操作效率比较高,创建游戏角色应该很少这些动作)
在他们本身的数据库应该会有一个游戏角色的隐形ID的,通过这个ID可以直接对应查找效率会比较好点,效率高!至于具体什么形式去实现,估计各有千秋了
但是游戏数据一般不会保存在数据库的吧?
而且我的想法是这样的,加载游戏的时候数据载入可能会慢点,但之后是在内存中操作所以速度应该还勉强可以吧。
每次下线应该都会写入数据库的吧,上线就读出来写到内存中的!实时更新缓冲的数据!
个人见解
数据库是要用到的,但中小型游戏应该都是用小型数据库,保持一些初始化时游戏元素的数据。但这些数据应该挺容易被破解,所以还要加密。如果用数据库来保存游戏记录,那新增游戏记录也会比较麻烦,而且加密、解密、表关系联系加起来速率应该也不咋滴。我认为对内存数据进行序列化,修改下规则保持在硬盘,比较方便而且不好破解。现在游戏应该就是这样的做的。
恩,可能是这样吧!
[解决办法]
我来说两句吧,用不用数据库跟你游戏的逻辑需求是密切相关的,如果你游戏的数据没有太多的依赖数据库查询什么的,比如索引,级联查询等,就尽可能用文件,至于是不是你说的对象序列化存到硬盘上面,也是有讲究的,如果你的数据操作都是顺序读取,那够用,否则你还不如用CSV、XML之类的文件存储格式,自己再封装个专门读取xml的类,我们在IOS平台上,一般用plist格式,直接支持dictionary!总之这存储方式是各式各样,就看你喜好了,另外个人觉得要用access还不如用sqlite,小巧而且效率高。
至于数据加密问题,在客体不可信的情况下,是必要的,加密算法也是多种多样,个人感觉一般不会用DES、AES这么重量级的加密算法,更不会用非对称的,因为实在是太耗资源了,撑死用一些异或或者移位就行OK了,毕竟你这是防君子不妨小人,数据加密也是加密一些比较敏感的字段,不会全部加密的,总之你要在安全以及性能之间取个平衡点