【发布时间】:2019-02-14 10:57:34
【问题描述】:
我也在 Unity 的论坛上发布了这个帖子,但由于它更面向服务器/加密,我也会在这里提问。
正如标题中提到的,我使用 unity 作为客户端,并使用 socket.io(使用 BestHTTP 资产)连接到 nodeJS 服务器。
我想要实现的目标:user1 获得由我的服务器签名的许可证密钥(通过电子邮件或 w/e),在应用程序中输入密钥,客户端询问服务器密钥是否有效并已签名,如果是这样,用户1的计算机可以播放。 这只需要在“注册”许可证密钥时连接互联网,然后我会将密钥存储在散列文件或其他东西中,这样 user1 就可以玩而无需每次都联系服务器。 简化版:user1 只需要连接一次(他第一次启动应用程序时),但我需要在每次启动时检查他是否可以玩。
客户端(在 Unity c# 中)工作正常,我所做的基本上是对密钥进行哈希处理并将其存储在一个文件中,然后对该文件进行哈希处理以验证用户不会修改它。
但是,我不知道在服务器端做什么。是否有 API 可以实现我想做的事情?我走错方向了吗? 那是我第一次处理加密货币,我有点迷茫:confused:
任何帮助将不胜感激!
【问题讨论】:
-
您能否将您的代码添加到问题中?你已经尝试了什么?您提出的架构的哪一部分不清楚?
-
所有已经使用的代码都在工作,这不是问题。我正在寻找一种方法来签署数据服务器端并在客户端验证它而不需要连接到互联网,并且不知道我应该使用什么或者它是否是好方法/是否有其他方法做我想做的事。
标签: c# node.js unity3d networking cryptography