0

我有一个连接字符串,我想将它作为查询字符串传递。为了安全起见,我想使用驻留在此 .php 文件位于远程服务器上的同一文件夹中的 gpg 私钥来加密连接的字符串。

我想知道将公钥和私钥保存在远程服务器上并用于加密和解密是否安全。

4

2 回答 2

1

第一个问题:为什么?- 如果您在同一台服务器上传输数据,请使用 PHP 会话或将其存储在数据库中。如果您想将数据从一台服务器传输到另一台服务器,请使用它们之间的另一个通信通道,例如发布数据的 HTTP 请求。

如果您仍然想这样做:我不会为此使用 GPG,因为这会产生相当多的 CPU 负载并显着增加消息的大小,假设您的数据相对较短。最好使用 blowfisch 或类似的算法,例如查看PHP 的 crypt 函数

关于安全性:它或多或少与整个服务器一样安全,但您应该确保您的私钥隐藏在 Web 服务器的文档根目录之外。并且读取权限应仅限于 Web 服务器用户...

于 2009-12-15T10:59:15.000 回答
0

试试这些 PHP 函数convert_uuencodeconvert_uudecode

function encrypt_decrypt ($data, $encrypt) {
    if ($encrypt == true) {
        $output = base64_encode (convert_uuencode ($data));
    } else {
        $output = convert_uudecode (base64_decode ($data));
    }
    return $output;
}

$enc_txt = encrypt_decrypt ("QUERY TEXT", true);
echo $enc_txt."\n";
// KjQ1NSU0RURANSQ1ODVgYGAKYAo=
echo encrypt_decrypt ($enc_txt, false);
// QUERY TEXT
于 2014-03-25T20:35:41.183 回答