在打印的JavaScript代码

时间:2016-09-19 14:42:58

标签: javascript jquery html css

网络公司已经要求他们提供大约30行HTML / javascript代码用于墙上显示。代码需要是一个真实的有效代码片段,可以在现代浏览器中执行,并显示大约30个字或更少的消息(例如,为公司提供一个聪明/厚颜无耻的品牌信息)。

一个大的document.write()语句可以做到这一点,但是他们正在寻找能够更多地隐藏信息的东西。从本质上讲,他们希望制作一个视觉谜题,在没有对JS的中间理解的情况下隐藏他们的信息。

对于外行来说,它应该看起来像随机代码。

我正在寻找有关如何执行此操作的想法/建议。我曾尝试在线使用自动javascript minifiers或混淆器,但这些通常输出的代码对人类来说是完全不可读的,我想要的是人类/编码人员难以阅读但并非不可能

假设要隐藏的消息是:

  

" Lorem ipsum dolor坐下来,精神上的adipistur elit。 Praesent   quis ipsum ipsum。 Donec quis lectus et ante gravida ultricies at。"

我怎么能接近这个?

HTML / CSS,JS& JQuery都是允许的。

(主持人,请将此问题转移到更合适的地方,如果它不适合堆栈溢出)

2 个答案:

答案 0 :(得分:1)

听起来像一个有趣的编程挑战,除了有效的HTML / JS / CSS之外,还增加了针对人工代码解释器的转折。

一个想法是以一些乱码或碎片(可读)形式显示消息,然后显示一些解扰消息的代码。一个简单的例子:

((int)aPtr == (int)bPtr && (int)bPtr == (int)cPtr)

通过散布/隐藏相关的字符串片段(可能不相关的代码),使用条件来确定要连接的变量,让相关的数组索引由结果确定,这可能会变得更加困难(并且难以解密)一些计算/函数调用或逻辑分支等......

编码消息不太明显(但仍可从代码中读取)的示例:



var a = [" consectetur", 
         "dolor", 
         "Lorem ipsum ", 
         " sit amet,"];
return a[2] + a[1] + a[3] + a[0];




我认为将这一点拉下来的挑战在于在阅读代码的过程中找到一个既困难又有趣的解读人与人之间的平衡,而不是需要付出太多努力。

答案 1 :(得分:0)

如果您要隐藏正在查看该页面源的人员可见的确切消息,您可以加密该字符串并将其(硬编码)存储在脚本中的变量中。并且您可以在需要显示它时将其解密。这样,看到来源的人就不会看到你要看的确切句子。然而,有理智熟悉JavaScript的人仍然能够以编程方式看到你正在做什么来展示它。