двусторонний ключ шифрования / алгоритм хэширования
Я не имею никакого опыта в этом типе вещей, поэтому я даже не уверен в ключевых словах (отсюда и название). В основном мне нужна двусторонняя функция
encrypt(w,x,y) = z
decrypt(z) = w, x, y
Where w = integer
x = string (username)
y = unix timestamp
и z = является 8-значным числом (возможно, включая буквы, спецификацияпока нет.)
Я хотел бы, чтобы z было нелегко угадать и легко проверить. Скорость нетогромный беспокойство, безопасность нет тоже. Отслеживание отношений один-к-одному является основным требованием. Любые ресурсы или направления будут оценены.
РЕДАКТИРОВАТЬ
Спасибо за ответы, многому учусь. Таким образом, чтобы уточнить, 8 символов является единственным жестким требованием, наряду с возможностью связать W <-> Z. Имя пользователя (Y) и метка времени (Z) будут считаться глазурью на торте.
Я хотел бы сделать это математически, а не выполнять поиск некоторых баз данных, если это возможно.
Если бы мне пришлось закончить это сегодня вечером, я мог бы просто найти подходящий алгоритм хеширования и использовать справочную таблицу. Я просто пытаюсь расширить свое понимание этого типа вещей и посмотреть, смогу ли я сделать это математически.