我通常从JavaScript传输JSON对象,并用PHP保存它们。
然后我将它们附加到这样的特定文本文件中:
$theFile = fopen("Data/" . FQ . ".txt", "a+");
fwrite($theFile, $data.PHP_EOL);
fclose($theFile);
我可以添加代码将此信息另存为加密文本文件吗?
理想情况是:
要解密,我会:
我想要这样做,以便在服务器受到威胁时,所有数据都变得毫无用处,而没有密钥(不存储在服务器上的任何位置)
答案 0 :(得分:1)
您将需要一种对称加密算法,例如AES。事实证明,作为Forge的一部分,有一个不错的JavaScript实现。
https://github.com/digitalbazaar/forge#aes
您将要使用CBC模式加密有效负载并将其发送到服务器。
如果您不愿意将其保存在文本文件中,则必须对该二进制数据进行base64编码。 在服务器端进行操作。您的客户端代码不需要知道或关心服务器实际上是如何存储数据的。另外,您将节省33%的带宽,并节省一些客户端CPU。
作为对base64编码的补充,您可以对文本文件中的记录进行行定界。
当您将数据返回给客户端时,应解码base64并将二进制加密数据发送给它们。然后,客户端将使用仅知道的密钥对其进行解密。