可以“Javascript”解密由PHP加密的数据吗?

时间:2013-01-28 10:30:31

标签: php javascript json encryption

当我正常从PHP返回Ajax / JSON时,Javascript会获取它并将其存储在变量中,例如:var myJSON = ajaxReturnedJSON;然后Javascript读取它。

我很想知道php是否加密了json:

echo json_encode($encrypted_data); //using some key like: "abc123"
  • 然后,Javascript可以使用相同的密钥对其进行解密吗?
  • php和js之间是否有任何常见的encrypt/decrypt方法?

注意 :我理解key会在JS方面显示,但我也可以使用JS Obfucators来hex整个角色,整个JS file。所以它或多或少会保护,而不是普通/无。

欢迎任何想法和讨论。

1 个答案:

答案 0 :(得分:3)

不确定。加密和解密算法只是数学运算,几乎可以用任何编程语言执行。 Javascript是一种编程语言,您可以在其中实现任何解密算法。

如果这个Javascript在浏览器中运行,这通常是毫无意义的。加密用于隐藏某人的信息。在服务器 - 客户端场景中,有三方:Web服务器,浏览器/用户,第三方。现在:

  • 您不需要隐藏来自Web服务器的信息,因为那就是您。
  • 您无法隐藏浏览器/用户的信息,因为重点是什么?如果您需要隐藏信息,请不要首先输出信息。如果浏览器/ Javascript可以解密信息,那么用户也可以解密,所以它不会被隐藏。
  • 传输加密可能会隐藏来自第三方(中间人等)的窥探信息,但为此已经有了更好的解决方案:SSL / TLS。此外,如果您要将解密数据所需的所有信息发送到客户端,第三方也可以截取此信息并像客户端一样解密数据。