2012-06-19 2 views
-1

Какая схема шифрования возвращает короткую строку? Я хочу небольшой результат менее 32 символов. Я также хочу, чтобы расшифровал обратно к исходному тексту. Целью является проверка электронной почты, когда код отправляется по электронной почте. Когда код получен, пользователь входит на сайт и вводит код (или нажимает на ссылку).шифровать короткую строку

EDIT: РАСШИФРОВЫВАНИЕ важно, так как после проверки я должен связать два несвязанных записи

Благодарность

+0

http://stackoverflow.com/a/1289114/233286 – ilhan

+2

Шифрование - неподходящий инструмент для решения этой проблемы. –

ответ

0

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

Так простой вариант использования:

  • Пользователь регистрируется на сайте.
  • Контроллер регистрации создает новую запись в таблице «pending_users», которая имеет только 2 столбца: user_id и random_key.
  • и адрес электронной почты отправляется пользователю, содержащий значение random_key, которая подвергается как ссылка на verification.php клавишу? = $ Random_key

Когда пользователь выполняет контроллер verification.php, контроллер проверяет за наличие $ random_key в таблице pending_users. Если найдено, он удаляет запись и изменяет флаг в таблице users (например, active_account = true). Если не обнаружено, сообщение об ошибке отправляется пользователю.

Надеется, что это помогает, Приветствия

1

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

0

Нужно ли расшифровать его обратно! Вы можете создать не дублируемую случайную строку и назначить этот код этому пользователю. Затем вы выполняете поиск кода и получаете пользователя из базы данных. Вы можете добавить дополнительную функцию для хранения времени ее создания и истечения ее в течение 24 часов.

0

Если вам не нужна безопасность, будет достаточно односторонней хеш-функции. CRC32 - хороший выбор. Вы можете отправить сообщение, а затем ждать, пока пользователь введет тот же ответ.

0

То, что вы просите, невозможно. Это святой Грааль, что компании, пишущие такие программы, как pkzip и rar, готовы убить. Представьте, что любой файл (несколько гигабайтов данных) может быть сжат всего в 32 байта. ;)

В любом случае, то, что вы пытаетесь сделать, было сделано раньше. Сохраняя uuid с адресом электронной почты в базе данных. Quid будет отправлен по почте пользователю, и они могут ввести это в вашу форму. Тогда это просто простой запрос базы данных, чтобы найти соответствующую запись.

Смежные вопросы