最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Unity客户端 NodeJS服务器:如何签名和验证数据?

运维笔记admin10浏览0评论

Unity客户端/ NodeJS服务器:如何签名和验证数据?

Unity客户端/ NodeJS服务器:如何签名和验证数据?

我也在Unity的论坛上发布了这个帖子,但是因为它更加面向服务器/加密,所以我也会问这里。

正如标题中提到的,我使用unity作为客户端,并使用socket.io(使用BestHTTP资产)连接到nodeJS服务器。

我想要实现的目标:user1获取由我的服务器签名的许可证密钥(通过电子邮件或w / e),在应用程序中输入密钥,客户端询问服务器密钥是否有效且已签名,如果是user1的电脑可以播放。这只需要在“注册”许可证密钥时需要互联网连接,然后我将密钥存储在散列文件中,以便用户1可以在不联系服务器的情况下播放。简化版本:user1只需连接一次(第一次启动应用程序),但我需要在每次启动时检查是否允许他玩。

客户端(在Unity c#中)工作正常,我所做的基本上是对密钥进行散列并将其存储在文件中,然后散列该文件以验证用户不会修改它。

但是,我不知道在服务器端做什么。有API可以达到我想要的目的吗?我走错了方向吗?这是我第一次处理加密,我有点迷失:困惑:

任何帮助将不胜感激 !

回答如下:

前提

许可软件可能是一项简单或相当复杂的任务:对该请求没有“完美”的答案,主要是因为您选择的每种解决方案都会以某种(简单或困难)方式“破解”。

另外,特别是在处理密码术时,通常增加复杂性等于增加时间。我建议你关注的是你想要保护的东西的价值,这样你就可以决定什么是值得实施的。


许可

最简单的方法可能是实现一个数字签名证书,其中包含有关许可软件的所有信息(包括有助于您的系统识别恶意行为的其他数据)。使用RSA应该是一个很好的方法。

这是我在Stack Overflow上发现的关于这个想法的good answer(它是用C#编写的,但你可以分析架构并构建一个nodejs应用程序)。

发布评论

评论列表(0)

  1. 暂无评论