我正构建一个游戏,将地图和世界数据存储在设备上(包括tmx,json和Luna脚本)。
我想保护这些文件,以免被其他人编辑。
我认为创建一个自签名证书,将公钥存储在设备上,然后在使用私钥分发游戏之前签署文件并在游戏中解密,我认为这是一个好主意。使用设备上公钥的游戏。
这种方法遇到了两个问题(正如我在网上搜索时所学到的): 1.公钥/私钥不用于解密文件。我可以通过散列随机密钥然后将其用于AES加密来解决此问题。 2. 公钥应该用于加密,而不是私钥。
所以我的问题是: A.我处理文件的方法是否正确? (使用AES和哈希键) 我错过了什么吗?可以使用私钥完成加密,然后使用公钥解密吗?或者,我该怎么做才能实现这一目标?
谢谢!
答案 0 :(得分:3)
您不应加密数据。只需使用数字签名签署,就像DSA一样。
如果允许任何人解密,加密绝对没有意义。
P.S。由于您可能不具备某些知名授权中心批准的签名,因此最好只为您网站上的所有文件提供哈希值。