将JSON对象附加到加密的文本文件PHP

时间:2018-11-27 22:31:42

标签: javascript php json encryption

我通常从JavaScript传输JSON对象,并用PHP保存它们。

然后我将它们附加到这样的特定文本文件中:

        $theFile = fopen("Data/" . FQ . ".txt", "a+");
        fwrite($theFile, $data.PHP_EOL);
        fclose($theFile);

我可以添加代码将此信息另存为加密文本文件吗?

理想情况是:

  • 服务器上所有要加密的文件
  • 存储在我本地计算机上的密钥

要解密,我会:

  • 将数据从服务器传输到本地计算机
  • 使用我的本地密钥解密

我想要这样做,以便在服务器受到威胁时,所有数据都变得毫无用处,而没有密钥(存储在服务器上的任何位置)

1 个答案:

答案 0 :(得分:1)

您将需要一种对称加密算法,例如AES。事实证明,作为Forge的一部分,有一个不错的JavaScript实现。

https://github.com/digitalbazaar/forge#aes

您将要使用CBC模式加密有效负载并将其发送到服务器。

如果您不愿意将其保存在文本文件中,则必须对该二进制数据进行base64编码。 在服务器端进行操作。您的客户端代码不需要知道或关心服务器实际上是如何存储数据的。另外,您将节省33%的带宽,并节省一些客户端CPU。

作为对base64编码的补充,您可以对文本文件中的记录进行行定界。

当您将数据返回给客户端时,应解码base64并将二进制加密数据发送给它们。然后,客户端将使用仅知道的密钥对其进行解密。