-1

我正在构建一个JavaScript用户必须猜一个单词的小游戏。用户将获得字母,他必须将它们组合成一个单词。每次用户添加/删除字母时,系统都会检查组合的单词是否是答案。

由于游戏将主要呈现给没有编程技能的用户,而且我的服务器不是太强大,所以我决定在客户端实现单词检查。(否则,我将不得不对 php 脚本运行 ajax 请求,该脚本可能会检查来自 mysql db 的答案。这会在服务器上引入额外的延迟和负载)

现在,为了确保,我想让编程技能低的用户更难找出答案变量或查看比较函数。

是否有可能以JavaScript非人类可读的方式制作函数?或者至少让它难以阅读?


再次提醒您,我不太担心最终代码是否不够安全,并且有些人实际上破解了该compare功能并得到了答案 - 我会为他们的努力感到高兴。

4

2 回答 2

1

您是否在寻找 js 混淆?可能是这个链接有帮助:

http://badassjs.com/post/2929065287/obfuscation

http://adamcecc.blogspot.ru/2011/01/javascript.html

于 2013-04-20T14:09:05.897 回答
0

你可以使用这样的东西:

var encodedData = window.btoa("the word"); // encode a string
var decodedData = window.atob(encodedData); // decode the string

我只是先对所有单词进行编码,然后对他们的猜测进行编码,并将其与您最初创建的已编码字符串进行检查。

https://developer.mozilla.org/en-US/docs/DOM/window.btoa https://developer.mozilla.org/en-US/docs/DOM/window.atob

这适用于 Firefox、Chrome、Safari ......尽管您也可以使用 Base-64 函数,如这个 stackoverflow 问题所示:Base64 encoding and decoder in client-side Javascript

于 2013-04-20T14:10:09.400 回答