【发布时间】:2018-04-17 11:12:05
【问题描述】:
我用 Java 编写了一个简单的类似蛇的游戏。我想将高分用户存储在数据库中,因此我创建了一个 mySQL 数据库。我面临的问题是让程序连接到 mySQL 数据库而不泄露登录信息,这将允许用户弄乱数据库。我已经研究过了,每个人都建议在游戏和 SQL 数据库之间建立一个 Web 服务。但是问题仍然存在,任何人都可以提供可能再次弄乱数据库的数据。
我想到的一个选项是将 jar 文件与数据一起上传到 Web 服务。然后,Web 服务获取散列值(正在查看 SAH 512)并将其与假设获取的散列值进行比较,如果匹配则继续。但是随后有人可以对我的游戏进行逆向工程并稍微更改代码并发送原始游戏文件,但将不同的 NAME+SCORE 发送到数据库。同样让人们不断将文件上传到网络服务对我的网络来说是一个巨大的痛苦,因为考虑到我使用的是家庭网络,它只能处理这么多。
我可以用密码加密一些文件,但由于程序能够解密它,那么用户肯定能够解密它并获得信息。
基本上无论如何,我为程序提供了我的数据库的密钥,某人将能够对其进行逆向工程并对其进行编辑,以便他们能够访问我的数据库。这就是我背后的想法。无论如何,我为程序提供了一种访问数据库的方法,如果有人愿意,他们也可以使用这种方式来弄乱数据库。
我必须有一种方法能够将我的游戏中的信息存储到 mySQL 数据库中,并确保没有人能够改变它周围的东西,而只有我制作的程序能够。以某种方式隐藏服务或某事背后的细节。其他人到底是怎么做到的?我能得到一些指导吗?欢迎任何想法。
【问题讨论】:
标签: mysql database security encryption hash