アイデア:
1) 長い URL md5 から 32 ビットの署名文字列を生成し、4 つのセグメントに分割され、各セグメントは 8 バイトです。
2 ) これら 4 つのセグメントをループで処理し、8 バイトを取得し、16 進文字列として扱い、0x3fffffff (30 ビット 1) で演算します。つまり、30 ビットを超える処理を無視します
3) これらの 30 ビットは分割されます。 6 つのセグメントに分割し、各 5 桁の数字をアルファベットのインデックスとして使用して特定の文字を取得し、6 桁の文字列を順番に取得します
4) 合計の md5 文字列は 4 つの 6 桁の文字列を取得できます。 ; どれもこの長い URL の短い URL アドレスとして使用できます。
以下はPHPコードです:
リーリー結果:
リーリー