Лучшим подходом (с точки зрения юзабилити и SEO) было бы использование уникальной фразы, а не скрытого идентификатора.В этом случае имя пользователя будет казаться идеальным решением, а также не будет угадываться.
При этом, если вы не хотите использовать этот подход, вы можете просто использовать хеш (возможно, md5 ) имени пользователя, которое вы сохраните в базе данных, вместе с другими его данными.Таким образом, вы можете просто сделать прямой поиск в этой области.(т.е.: шифрование и дешифрование части URL, вероятно, излишне.)