

プログラムの内部でユニークなIDが欲しい場合は、UUIDが多く用いられると思いますが、  
桁数が32桁と、ユーザーに見せる場合、少し桁数が多く複雑すぎるように感じます。  
実際、ECサイトなどで購入したさいに得られる注文IDなどははUUIDではなさそうに見えます。

どのようなアルゴリズムで10-15桁程度の注文ID（ユニークID）を生成しているのでしょうか？


CC BY-SA 4.0
2020-06-21T17:16:00.927
67875
2020-06-22T00:44:36.823
29096
question
アルゴリズム
注文IDなどユーザーに見せるユニークなIDの作成方法


例えばココ jSO での URL 内、記事番号はおそらく `autoincrement` で得られた投稿番号。  
それだけでは自分で作る EC サイトにおいて芸が無いと思えば、投稿番号・注文番号（に適当なシュガーを付けた結果）を `md5` や `sha`
の中から適当に選んだハッシュ関数に通した結果（の頭から数文字）

ただの記事番号に暗号学的安全性は必要ないと判断できるので、暗号学的ハッシュ関数でなくてもオレオレ適当変換関数を作ってもいいだろう（可逆変換でも問題ないのレベル）。

非可逆変換関数にした場合は、データベースに変換結果を入れておかないと検索が大変になる可能性大。


CC BY-SA 4.0
2020-06-21T23:54:23.837
67877
2020-06-21T23:54:23.837
8589
67875
answer


はじめまして。こんにちは。

知る限りでは注文番号はデータベースの機能でautoincrementしてるケースが多いですね。場合によっては事業部ごとに開始番号をずらしたり、先頭の何桁かを業務用に利用しています。旧システムは先頭が1で始まるもの新システムは2で始まるとか…。ECサイトの商品IDなんかだと、IDから部門がわかるようにしたりとかなどの、要望があるかもしれません。結局は会社やビジネスの内容によると思われ、関係各所と調整して運用に便利な採番方法を個々に設計することが大切だと思います。


CC BY-SA 4.0
2020-06-22T00:44:36.823
67881
2020-06-22T00:44:36.823
37777
67875
answer