[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

150users がブックマーク コメント 28

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

UUIDを短くするライブラリを作った

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント28

  • 注目コメント
  • 新着コメント
lainof
見た目の良し悪しは主観だけど、URLに使用することを考慮するだけならBase64URLにするかな。

その他
ockeghem
UUIDの形式にこだわらないのであれば暗号論的疑似乱数を直接Base58あるいはBase64URLに変換すればよいのに

その他
cbkf
Base58なんてあるのね。へぇ。自分も(視認性の高い)ランダムパスワード生成C#コードをLINQPadで組んで使ってるので文字種数えてみたら52文字だった。 234789ACEFHJKLMNPRSTUVWXYZacdefghkmnprstuvwxyz#%=@*+

その他
swdrsker
UUIDを視認して使う必要があるシーンってある?

その他
strawberryhunter
DBにはバイナリで保存される。文字列にするとデフォルトでは16進数、つまりBase16。BaseXXを大きくすれば短くなる。この人は視認性の良いBase58を採用したという話。

その他
hogetax
よほどのことが無い限り要件側を調整したいなぁ...採用する仕様としてカジュアルに規格を弄ぶことのリスクはデカい(使用するライブラリが限定されたり、不整合が起きないかチェックしなければならなかったり...)

その他
shingo-sasaki-0529
Base58, Base64URLとどう違うんだろって思ったけど、視認性の低い紛らわしい文字を除外してるんだ。ユニークIDの視認性が低い問題って何だろ。既存データの調査するときに目が滑るとかかな。

その他
wktk_msum
UUIDをBitcoinでも使われているBase58でエンコード

その他
latena
https://www.npmjs.com/package/short-uuid

その他
kijtra
ULIDじゃだめかな。ソートもできるし。

その他
yarumato
"WebサービスやAPIで使われるUUIDは、ハイフン込みで36文字と長くてURL埋め込むに不向き。Base64は/+=などURLで不向き。Base58(視認性の悪い文字を除外したアルファベット)でエンコードすると22文字程度、短く使いやすい"

その他
yosiyosiy
個人的にはnanoidの方が無難かな https://github.com/ai/nanoid

その他
kmaebashi
手打ちすることがないのなら、Base64URLで十分なような....../それに、入力はプログラムから渡すんだから、不正な文字が入ることもなくない?

その他
ockeghem
ockeghem UUIDの形式にこだわらないのであれば暗号論的疑似乱数を直接Base58あるいはBase64URLに変換すればよいのに

2025年05月11日 リンク

その他
Kazumi007
発想がいいなあ。

その他
shiroemons
DBではUUIDv4をidとして使っているけれど、URLにそのままUUIDv4を使いたくなかった。そのため今回のを作成した理解で良いのかな?

その他
axljpn
Base64URLというのがあるのかー

その他
gfx
人がハンドコピーするとかでなければbase64urlのほうがよさそうな。

その他
toaruR
『Base58』

その他
iphone
一瞬なに言いだしたのかと思ったが、情報量を減らすんじゃなく表現形式の無駄を削ったのね。36字固定→22字程度と。

その他
honeybe
Base64だとURL Unsafeなので Base64 URL EncodeしてたがBase58でいいのか。覚えておこう。

その他
yamadar
RDBだともっと短い桁数で保存されてるよね。推測されにくいURL用ってことなのかな?

その他
strawberryhunter
strawberryhunter DBにはバイナリで保存される。文字列にするとデフォルトでは16進数、つまりBase16。BaseXXを大きくすれば短くなる。この人は視認性の良いBase58を採用したという話。

2025年05月11日 リンク

その他
jiro68
生成された文字列をデコードする必要は滅多にないはず(あるとすればタイムスタンプを見たい場合位?)だし、他の言語でも簡単に実装可能なのでアリだと思う。有効性検査が必要なら1文字足してチェックサム付ければ

その他
otchy210
世の中のほぼ全てのケースで UUID はオーバースペックなので、DB のキーはともかく、URL に表出するのは UUID のうち32bit分くらいで実用上十分では?git のハッシュだって省略表記で困った事ないでしょ?

その他
hogetax
hogetax よほどのことが無い限り要件側を調整したいなぁ...採用する仕様としてカジュアルに規格を弄ぶことのリスクはデカい(使用するライブラリが限定されたり、不整合が起きないかチェックしなければならなかったり...)

2025年05月11日 リンク

その他
higgsino
ULIDじゃ駄目なん?ULIDは人間の目で見て紛らわしい文字を除外した特殊なBase32でエンコードされる

その他
hkdn
なるほど、IT系だと妙なところで文字数制限に引っかかる場合もあるから役に立つ場面ありそう

その他
psne
初めからUUIDを使わずそのように振り出してしまえば良いのでは、と少し思ってしまったやつ。

その他
cbkf
cbkf Base58なんてあるのね。へぇ。自分も(視認性の高い)ランダムパスワード生成C#コードをLINQPadで組んで使ってるので文字種数えてみたら52文字だった。 234789ACEFHJKLMNPRSTUVWXYZacdefghkmnprstuvwxyz#%=@*+

2025年05月11日 リンク

その他
swdrsker
swdrsker UUIDを視認して使う必要があるシーンってある?

2025年05月10日 リンク

その他
lainof
lainof 見た目の良し悪しは主観だけど、URLに使用することを考慮するだけならBase64URLにするかな。

2025年05月10日 リンク

その他
eroyama
絵文字にしたらかわいいと思う

その他
amd64x64
単に128bitバイナリのASCIIエンコーディングと違うの。

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

プレビュー
アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

usersに達しました!

さんが1番目にブックマークした記事「UUIDを短くするラ...」が注目されています。

気持ちをシェアしよう

ツイートする

UUIDを短くするライブラリを作った

のように、22文字の短くてスッキリしたIDに変換できます。 これを簡単に行うためのライブラリ「uuid58」... のように、22文字の短くてスッキリしたIDに変換できます。 これを簡単に行うためのライブラリ「uuid58」を作成しました。 追記: また、これを簡単に試すためのウェブサイトも作成しました! 記事ではuuid58を作った背景や使い方、特徴を紹介します。 動機 データベースの主キーにUUIDを使うことは多いですが、UUIDは36文字(ハイフン込み)と長く、URLに埋め込むと見た目も悪くなりがちです。 「短くしたい!」と思ってBase64エンコードを考える人も多いですが、Base64は/や+、=などURLで使いにくい文字が含まれてしまいます。 そこで、Bitcoinでも使われているBase58(視認性の悪い文字を除外したアルファベット)でエンコードすれば、 22文字に短縮できる URLセーフ 見た目もスッキリ 0とO、Iとlのような区別しづらい文字が除外されている ダブルクリックで選択可能

ブックマークしたユーザー

  • techtech05212025年09月18日 techtech0521
  • heatman2025年06月09日 heatman
  • funghi_seven2025年06月03日 funghi_seven
  • hirorock2025年05月17日 hirorock
  • shingo-sasaki-05292025年05月15日 shingo-sasaki-0529
  • wktk_msum2025年05月13日 wktk_msum
  • knj29182025年05月13日 knj2918
  • latena2025年05月12日 latena
  • saken6492025年05月12日 saken649
  • sushichan0442025年05月12日 sushichan044
  • kijtra2025年05月11日 kijtra
  • tsutomu_yasui2025年05月11日 tsutomu_yasui
  • fjch2025年05月11日 fjch
  • yarumato2025年05月11日 yarumato
  • daabtk2025年05月11日 daabtk
  • chck12452025年05月11日 chck1245
  • yosiyosiy2025年05月11日 yosiyosiy
  • solidstatesociety2025年05月11日 solidstatesociety
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /