Нужен простой хэш в PHP

Мне нужно создать простой метод хэширования для передачи некоторых данных в URL. Это не должно быть очень безопасным, это просто не должно быть очевидно для большинства людей.

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

Есть идеи? Я бы хотел, чтобы хэш был как можно короче, просто потому, что этот URL-адрес предназначен для совместного использования через IM, электронную почту и т. Д.

Related of "Нужен простой хэш в PHP"

Хеш – единственный способ. Если вы хотите его расшифровать, вы должны зашифровать его. Попробуйте mcrypt с одним из них .

Для небезопасных материалов вы можете попробовать base64_encode , вы также можете base_convert каждый числовой идентификатор от 10 до 36 цифр или около того. Также может помочь умножение чисел с помощью секретной константы.

$obscurity = base_convert($recipientId * 42, 10, 36) . ':' . base_convert($senderId * 42, 10, 36) 

Попробуйте кодирование / декодирование base64. вместе с опцией apache «Multiviews» или apache mod_rewrite сделают ваши URL-адреса похожими:

 http://mysite.com/messages/[encoded string here] 

base64 определенно должен сделать трюк, если вы хотите его снова декодировать.

Обратите внимание, что это не «хэш», хэш обычно означает одностороннее шифрование.

 $ senderId = 1234;
 $ recipientId = 5678;
 $ myString = $ senderId.  ":".  $ RecipientId;
 echo base64_encode ($ myString);

Вы можете использовать шифрование, как указано @OIS.

Или вы можете использовать хэш и хранить значения хэша в базе данных, привязанной к идентификатору отправителя и идентификатору получателя. PHP имеет встроенные md5() и sha1() .