3

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

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

echo json_encode($encrypted_data); //using some key like: "abc123"
  • 那么,可以Javascript使用相同的密钥解密它吗?
  • encrypt/decryptphp和js有什么通用的方法吗?

注意:我知道key在 JS 端可以看到,但我也可以hex对整个字符使用 JS Obfucators,整个 JSfile。所以它或多或少会保护,而不是平淡无奇。

欢迎任何想法和讨论。

4

1 回答 1

3

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

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

  • 你不需要隐藏来自网络服务器的信息,因为那是你。
  • 您不能向浏览器/用户隐藏信息,因为这有什么意义?如果您需要隐藏它,请不要首先输出信息。如果浏览器/Javascript可以解密信息,那么用户也可以,所以它不会被隐藏。
  • 传输加密可能会隐藏第三方(中间人等)窥探的信息,但为此已经有一个更好的解决方案:SSL/TLS。此外,如果您将解密数据所需的所有信息发送到客户端,第三方也可以拦截此信息并像客户端一样解密数据。
于 2013-01-28T10:41:57.253 回答