In a recent commit, I updated the key generation to Lucus' solution, in which
we don't have to do any format-preserving encryption, but where the
probability of collisions is amortized away (basically by doing exponential
backoff) by adding a character every time we get a collision.