Шифрование текста строки запроса
-
19-09-2019 - |
Вопрос
У меня есть объединенная строка, и я хочу передать ее как строку запроса.В целях безопасности я хочу зашифровать объединенную строку с помощью закрытого ключа gpg, который находится в той же папке, где находится этот файл .php на удаленном сервере.
Я хочу знать, безопасно ли хранить открытый и закрытый ключи на удаленном сервере и использовать их для шифрования и дешифрования.
Решение
Первый вопрос:Почему?- Если вы передаете данные на один и тот же сервер, используйте сеансы PHP или сохраните их в базе данных.ЕСЛИ вы хотите перенести данные с одного сервера на другой сервер, используйте другой канал связи между ними, например HTTP-запрос, отправляющий данные POST.
ЕСЛИ вы все еще хотите это сделать:Я не буду использовать для этого GPG, поскольку это создает значительную нагрузку на процессор и значительно увеличивает размер сообщения, если ваши данные относительно короткие.Лучше использовать BlowFisch или подобные алгоритмы, см. Функция шифрования PHP например.
О безопасности:Он более или менее так же безопасен, как и весь сервер, но вам следует убедиться, что ваш закрытый ключ скрыт за пределами корня документа веб-сервера.И права на чтение должны быть ограничены пользователем веб-сервера...
Другие советы
Попробуйте эти функции 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