単純な数値化は40文字になりますが、工夫すれば37文字まで減らせます。理論上、これ以上短くすることはできません。 任意のユーザー名 ( 2 ~ 20字 ) を入力すると 0000000000000000000000000000000000000 から 使える文字がちょうど64文字だったので2進数で数値化した後に10進数にしています。復号はその逆です。 そこで多倍長演算のようなものが使われています。 一回の解凍が若干重い ( 0.02秒 ) ので、キャッシュのような仕組みを利用した方がいいかもしれません。
zero paddingにした