Используйте односторонний хеш, такой как SHA1 или MD5, и используйте JavaScript для отправки значений в зашифрованном виде. Затем, если хакер перехватит запрос, он будет иметь только хэши, а не фактические значения. Тем не менее, они могут отправлять хеши для входа в систему; Одно из решений состоит в том, чтобы включить параметр JavaScript (сгенерированный с помощью вашего серверного языка) на основе IP-адреса (но для хакера найти формулу для него нет возможности) и использовать его для подсчета хешей имени пользователя и пароля.
Затем на стороне сервера вы должны сделать (в данном случае на PHP):
$ipHash = sha1("random" . $_SERVER['REMOTE_ADDR'] . "salt_here10381") // place this as a hidden element in the form and use it in the JavaScript to calculate the hash
$userHash = $_POST['userHash'];
$passwordHash = $_POST['passwordHash']
// TODO: Escape $ipHash, $userHash, $passwordHash
$results = mysqli->query("SELECT * FROM `users` WHERE SHA1(CONCAT('" . $ipHash . "', `user`)) ='$userHash' AND SHA1(CONCAT('" . $ipHash . "', `password`)) = " '$passwordHash'");
Затем, если хакер захочет войти в систему с найденным хэшем и именем пользователя, ему потребуется тот же IP-адрес пользователя, который первоначально входил в систему, чьи учетные данные были перехвачены.
Обратите внимание, что это предполагает, что у вас есть пароли, хранящиеся в вашей базе данных в виде простого текста, что вы никогда не должны делать.
Для хеширования с SHA1 на стороне клиента посмотрите на this .
Чтобы ответить на ваш конкретный вопрос (я вижу, у меня немного не по теме, упс), было бы приемлемо base64 закодировать хэши при отправке их на сервер. Если возможно, попробуйте отправить его как данные POST и сохранить в файле cookie или в переменной сеанса.