двусторонний ключ шифрования / алгоритм хэширования

Я не имею никакого опыта в этом типе вещей, поэтому я даже не уверен в ключевых словах (отсюда и название). В основном мне нужна двусторонняя функция

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) будут считаться глазурью на торте.

Я хотел бы сделать это математически, а не выполнять поиск некоторых баз данных, если это возможно.

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

Ответы на вопрос(7)

Ваш ответ на вопрос