2013-04-20 92 views
-1

我正在构建一个小型的JavaScript游戏,用户必须猜测一个单词。用户将被给予信件,他将不得不将它们组合成一个字。每当用户添加/删除一封信时,系统会检查组合的单词是否为答案。由于游戏将主要提供给没有编程技能的用户,并且由于我的服务器功能不是很强大,我决定在客户端执行字检查。 (否则,我就必须运行PHP脚本Ajax请求这可能是检查从MySQL数据库的答案。这将引入额外的延迟和负载在服务器上)使用Javascript编码函数

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

是否有可能在JavaScript中做出非人类可读的功能?或者至少让它难以阅读?


只是再次提醒你,我不是太担心,如果最终代码会不够安全,有些人居然破解compare功能,并得到了答案 - 我会很乐意为他们的努力。

+0

你可以压缩和模糊处理它,但里面的琴弦仍然保持原样。 – 2013-04-20 14:03:09

+0

JavaScript基础64编码器http://stackoverflow.com/questions/2820249/base64-encoding-and-decoding-in-client-side-javascript – Terrance 2013-04-20 14:10:39

+0

只是加密字符串,并假装你正在做密码检查。 – Dave 2013-04-20 14:11:18

回答

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

这将工作火狐,Chrome,Safari浏览器......虽然你可以使用一个基地,64个功能也喜欢显示在这个计算器的问题:Base64 encoding and decoding in client-side Javascript

+0

但问题是隐藏'btoa'和'atob'内容,以便用户不能编码和解码字符串。 – 2013-04-20 14:28:01