これは、データベース内のmd5ハッシュを参照する短縮URLを作成するためのものです。私はこのようなものを変換したいと思います:
a7d2cd9e0e09bebb6a520af48205ced1
このようなものに:
hW9lM5f27
これらは両方ともほぼ同じ量の情報を含んでいます。この方法は、直接的で可逆的である必要はありませんが、それは素晴らしいことです(より柔軟です)。少なくとも、再現可能であるように、シードとして16進ハッシュを使用してランダムに生成された文字列が必要です。考えられる答えはたくさんあると思いますが、人々がどのようにエレガントにそれを行うのか興味があります。
ああ、これは元のハッシュと完全に1:1で対応している必要はありませんが、それはボーナスになります(可逆性の基準ですでにそれを暗示していると思います)。そして、できれば衝突を避けたいと思います。
編集 私は私の最初の計算が完全に間違っていたことに気づきました(ここで答えた人々のおかげですが、手がかりを得るのに時間がかかりました)そしてあなたはすべての小文字と大文字をミックスに投げ込むことによって文字列の長さをあまり減らすことはできません。したがって、16進数から62進数に直接変換されないものが必要になると思います。