Как зашифровать данные $ _GET в php?

Как и в php, мы используем $ _GET для передачи переменных в url, я хочу передать переменные, которые включают идентификатор пользователя, который я хочу быть анонимным, поэтому можно что-то сделать, чтобы зашифровать переменную перед ее передачей, а переменная после того, как на странице можно дешифровать, чтобы получить исходное значение переменной.

например:

Перед передачей переменной $ id = 10;

Передано в url как $ id = dasfgjg;

при взятии из url и дешифрованного $ id = 10;

Как это можно достичь?

Вы можете использовать шифр RC4, если вы собираетесь шифровать / расшифровывать только на стороне сервера

http://www.phpkode.com/source/s/rc4-cipher-0-1/rc4-cipher-0-1/RC4.php

 $my_secret_key = '3klmsd94mms.saeo44o!!3le'; if( isset($_GET['p']) ) { $id = RC4::decrypt($my_secret_key, $_GET['p']); // .... } else { echo '<a href="/?p='.RC4::encrypt($my_secret_key, 12).'">Go to the page</a>'; } 

Просто создайте случайные строки (убедитесь, что они уникальны) для каждой записи в базе данных и сохраните ее там. Затем используйте это как идентификатор. Обратите внимание, что это, конечно, не имеет никакого отношения к шифрованию.

Быстрый и грязный способ достичь этого (для каждого запроса)

  • на клиенте, создайте строку типа «xx: 10: yy», где xx и yy – строки, содержащие pf random characetrs
  • на клиенте, создайте соленый хэш пользователей соленый / хешированный пароль
  • используйте этот хеш в качестве ключа и строку из первой пули в виде открытого текста для шифрования, например crypt.js
  • в запросе отправьте зашифрованную строку и соль
  • на сервере используйте переданную соль, а пользовательский соленый / хешированный пароль – для восстановления ключа
  • на сервере используйте mcrypt или друзей, чтобы расшифровать строку
  • на сервере используют стандартные функции обработки текста PHP для восстановления полезной нагрузки из расшифрованной строки