Поскольку 64 кратно 16, лучший способ сделать это с помощью справочной таблицы.Любая тройка шестнадцатеричных цифр представлена двумя цифрами base64, поэтому для этого вам понадобится 16³ = 64² = 4096 записей в каждой справочной таблице.
У меня есть сценарий perl, который будет генерировать сопоставления в https://gist.github.com/3730664
У меня также есть полная реализация функций генерации и преобразования (опять же в perl), которые я использую для преобразования идентификаторов MongoDB, если это будет полезно, дайте мне знать.
Редактировать:Я добавил полную реализацию, которую я использую, в суть, приведенную выше.