Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 是否可以将用户知道的加密信息发送到服务器而不知道如何解密?_Encryption - Fatal编程技术网

Encryption 是否可以将用户知道的加密信息发送到服务器而不知道如何解密?

Encryption 是否可以将用户知道的加密信息发送到服务器而不知道如何解密?,encryption,Encryption,我认为这是不可能的,但我还是会问的。以下是我试图做的: 我有一个HTML5游戏,用户可以在浏览器中玩。比赛结束后,他们会看到最后的比分。我希望能够将分数以加密格式发送到服务器。我不希望玩家能够对服务器调用进行反向工程,并将他们的分数设置为高于他们实际获得的分数。有没有一种方法可以对其进行加密,使玩家无法对其进行反向工程 简短回答:不,你想实现的目标无法实现,但不是因为你认为的原因 详细答案:您完全可以加密最终分数并将其发送到服务器。您甚至可以这样做,这意味着用户不希望在加密后对其解密 该漏洞存在

我认为这是不可能的,但我还是会问的。以下是我试图做的:


我有一个HTML5游戏,用户可以在浏览器中玩。比赛结束后,他们会看到最后的比分。我希望能够将分数以加密格式发送到服务器。我不希望玩家能够对服务器调用进行反向工程,并将他们的分数设置为高于他们实际获得的分数。有没有一种方法可以对其进行加密,使玩家无法对其进行反向工程

简短回答:不,你想实现的目标无法实现,但不是因为你认为的原因

详细答案:您完全可以加密最终分数并将其发送到服务器。您甚至可以这样做,这意味着用户不希望在加密后对其解密

该漏洞存在于这样一个事实:用户可以在第一时间加密他们喜欢的任何内容。假设您在游戏结束时通过HTTP POST请求将加密分数发送到服务器。没有什么能阻止用户拆开你的JS,找到公共加密密钥并提交相同的POST请求,而不真正玩你的游戏

要真正解决您的问题:必须在服务器上控制游戏。游戏的客户端必须简单地发送输入动作,然后在服务器上进行解释。由于游戏状态仅由服务器修改,因此无法生成假分数