Шифрование текста строки запроса - PullRequest
0 голосов
/ 15 декабря 2009

У меня есть объединенная строка, и я хочу передать ее как строку запроса. В целях безопасности я хочу зашифровать сцепленную строку с помощью закрытого ключа gpg, который находится в той же папке, где этот файл .php находится на удаленном сервере.

Я хочу знать, безопасно ли хранить открытые и закрытые ключи на удаленном сервере и использовать их для шифрования и дешифрования.

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

Первый вопрос: почему? - Если вы переносите данные на один и тот же сервер, используйте сеансы PHP или храните их в базе данных. Если вы хотите транспортировать данные с одного сервера на другой, используйте другой канал связи между ними, например, HTTP-запрос POSTing данных.

ЕСЛИ вы все еще хотите это сделать: я не буду использовать GPG для этого, поскольку это приводит к некоторой загрузке ЦП и значительно увеличивает размер сообщения, если ваши данные относительно короткие. Лучше использовать blowfisch или аналогичные алгоритмы, см., Например, PHP-функцию crypt .

О безопасности: он более или менее безопасен, как и весь сервер, но вы должны убедиться, что ваш закрытый ключ скрыт за корнем документа веб-сервера. И права на чтение должны быть ограничены пользователем веб-сервера ...

0 голосов
/ 26 марта 2014

Попробуйте эти функции PHP convert_uuencode и convert_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
...