可以“javascript”解密数据,由PHP加密


Can "Javascript" Decrypt the Data, Encrypted by PHP?

当我通常从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混淆器来hex整个字符,整个JS file。所以它或多或少会保护,而不是平凡/什么都没有。

欢迎任何想法和讨论。

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

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

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