WebサービスでユニークなURLを提供する際に、IDを数字のまま出してしまうとデータ件数が何件あるのかバレてしまいます。そこでランダムな文字列を作ってIDの代わりにしたりします。しかし、数字のIDとランダムな文字列、二つ管理するのは面倒です。 そこで使ってみたいのがhashids.jsです。数字からYouTube風なID文字列を生成します。

hashids.jsの使い方

例えばこんな感じです。

分かりやすい数字でもちゃんとランダム文字列化します。

ハッシュ風の文字列を作る際に、32進数などを利用することもできますが、少ない桁数の時にランダム性が失われてしまいます。hashids.jsであればsaltを指定してランダムな文字列(かつ可逆)を生成できます。サーバ側でデコードして数字に戻すことも可能です。複数の数字をまとめて変換もできます。

hashids.jsはTypeScript製のオープンソース・ソフトウェア(MIT License)です。

A Pen by Captain Anonymous niieani/hashids.js: A small JavaScript library to generate YouTube-like ids from numbers.