あなたは「ハッシュ関数」について説明しています。ウィキペディアで調べてください。
MD5はハッシュ関数の一種です。ほとんどのMD5実装は文字列を返しますが、その文字列は(LARGE)整数の単なる表現です。MD5ハッシュを取得してから、必要な数の下位ビットを使用して、目的のサイズの整数を取得できます。目的の範囲が2の累乗でない場合は、モジュロ演算を実行して目的の範囲に入れる必要があります。
また、事実上すべての最新のプログラミング言語には、整数を返す文字列をハッシュするための組み込み関数があります。Javaでは、String.hashCode()です。Rubyでは、String#hashです。
この場合、言語はJavascriptであり、(私はショックを受けて)このようなものが組み込まれていないようです。これはJavaプラットフォームのString.hashCode()です(おそらくJavascriptに移植できます)。
public int hashCode() {
int h = hash;
if (h == 0) {
int off = offset;
char val[] = value;
int len = count;
for (int i = 0; i < len; i++) {
h = 31*h + val[off++];
}
hash = h;
}
return h;
}