如何加密html5页游的提交分数?

浏览器无法“加密”。传统意义上的加密是为了防止数据在传输过程中被监听和篡改,而不是防止用户自行修改。

我们能做的就是让绝大多数小白用户无法修改分数,一般有两种方式可以通过插件修改:

专家做的插件,小白用户都可以用。

大师自己直接发请求伪造的。

一般加密都是用js加密库函数。可以搜索js的aes加密库。服务器向客户端发送加密密钥,并记录发送的密钥(在会话中)。然后浏览器用这个密钥对其进行加密,并将加密结果发送给服务器。服务器在会话中用密钥解密并存储分数。

为了使专家难以理解加密算法,可以混淆js代码(混淆不是加密,但很难使代码看起来并可以恢复为可读性稍强的代码,如果有人愿意花时间研究它,就可以解释它)

密钥可以通过算法加密传输,可以让人“看起来”难以理解。

其实用户可以干预浏览器端做的任何处理,因为你分数的处理方法是用js写的,能看懂的人会知道你是怎么改的。使用key+混淆的方法可以防止大部分篡改(混淆的代码即使还原看起来也太大了,大部分人都不想分析)