当我通常从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。此外,如果您要将数据解密所需的所有信息发送到客户端,第三方也可以拦截这些信息并像客户端一样解密数据。