
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【Hash関数】できるだけ衝突率を上げずにIDを短くしたい - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【Hash関数】できるだけ衝突率を上げずにIDを短くしたい - Qiita
背景 もともと一意のIDを別DBでも使いたかったが、該当のカラムの文字数に制限があり、そのまま使うこと... 背景 もともと一意のIDを別DBでも使いたかったが、該当のカラムの文字数に制限があり、そのまま使うことができなかった。 やりたいこと 英数字でできたIDををなるべく一意性を保ったまま短くしたい 例: abc123DEF456fgh7890(19桁) => 123abc456DEF(12桁) 手順 Hash関数を用いて文字列から数値に変換する その数値を62進数(a-z + A-Z + 0-9)に変換する こうすることで、一意性をギリギリまで保ったまま短くできると考えた 使用環境・言語 macOS Mojave 10.14.5 node 10.19.0 TypeScript 3.9.7 実装 1. ハッシュ関数の選定 ハッシュ関数と言っても、アルゴリズムや出力サイズ等、様々な種類が存在している。 => 参考: hashアルゴリズムとハッシュ値の長さ一覧(+ハッシュ関数の基本と応用) 今回、選