2012-10-27 61 views
1

我有一个var正在通过javascript函数传递,我期待在发送给用户之前混淆var,然后在通过php提交时恢复。正在生成混淆php变量被传递

$data = "111:222:333:444"; 

$数据并投入视图(JavaScript函数)

<img src="button.jpg" alt="" onclick="newfunc(111:222:333:444)" /> 

其再发送回服务器来处理

反正是有凑这个数,因此看起来像

“8f8fu8vu8fu8fhguf99fu8fu8fu8fu”insted 111:222:333:444?

是否有任何类似于md5的php函数可以让你恢复去混淆var?

任何帮助将不胜感激。

+6

有base64编码,但你的目标是什么?安全?那么你走错了路。让它在不破坏JS数据的情况下工作? 'json_encode()'可能是传递数据的更好方法。 –

+0

谢谢佩卡,它不是一件安全的事情。我只是喜欢我的数据不是简单(可以理解)的观点。用base64你可以编码和解码? – btaylor507

+0

是的,base64看起来是:) – btaylor507

回答

3

使用javascript无法安全地加密(读真正混淆)任何东西。

例如,有一个bluefish encryption library for javascript,但由于私钥需要被问到的javascript函数所知道。做加密的客户端/浏览器必须知道密钥,因此它不能通过设计,保持安全。

你能做什么,就是信任“通过隐藏的安全”(但同样,客户端安全不能正常工作),并采用base64编码谁知道他们是什么样的字符串为“混淆为” ..

大家这样做将能够恢复您在混淆字符串时所做的任何尝试...

但是!您可以将字符串发送到您的服务器(通过ajax调用),让它异步加密明文并返回您真正混淆的文本..服务器又可以解密(再次通过ajax调用)。

希望帮助....

+0

感谢Gung Foo!最后的声明正是我正在做的。这是非关键数据,所以我' – btaylor507

+0

续....我不太担心安全。这个JavaScript编码服务器端的func变量。发送给客户。 Ajax回到服务器解码。 – btaylor507

+0

很高兴我能帮上忙。 :) –

1

好吧,如果你使用的base64,您可以将其解码回来了,所以做其他。(您想拥有私人的从你的用户。)

所以我建议你制作一些随机模式,并附加/混合数据,并在数据恢复后清除它。

+2

base64是“编码”而不是“加密”。因此你“解码”它而不是“解密” - 任何事情...... –

+0

我喜欢把代码弄脏并清理它的想法。有趣。 – btaylor507

+0

传递的这些数据不是关键的顺便说一句。感谢Kishor。 – btaylor507