私の考える最善のID生成ロジックを考えたのだわ
RE: https://misskey.m544.net/notes/718999eef536b87b57d131ea
Conversation
Notices
-
めいめい (mei23@misskey.m544.net)'s status on Friday, 28-Jul-2023 18:52:49 JST めいめい - Machismo repeated this.
-
めいめい (mei23@misskey.m544.net)'s status on Friday, 28-Jul-2023 18:52:49 JST めいめい まずaidは タイムスタンプ+ランダム部(10bit)なので被りまくるのでダメ。
他にはulidとかfirefishの奴とかあるけど、このあたりのIDに秘匿性は求められていないので、PRNG使っちゃうのは無駄なのだわね。
TwitteとかFacebookも、タイムスタンプ+個体ID+カウンタ 系なので、大規模システムにはPRNGなんてとんでもないと思うのだわね。
Misskey idの途中変更は互換ないとか言われるけど、先頭をaid互換にしといてマイグレ時に後ろをパディングすることを許せばめんどくさいけど互換あるとは思うのだわね。In conversation permalink Machismo repeated this. -
めいめい (mei23@misskey.m544.net)'s status on Friday, 28-Jul-2023 18:52:49 JST めいめい PRNG => CSPRNGだわね
In conversation permalink Machismo repeated this. -
めいめい (mei23@misskey.m544.net)'s status on Friday, 28-Jul-2023 18:52:49 JST めいめい cuild2あえてCSな乱数ソースを使わずにセキュアな自分で生成してるって言ってるけどうーんなのだわ
https://github.com/paralleldrive/cuid2/issues/18In conversation permalink Attachments
Machismo repeated this. -
めいめい (mei23@misskey.m544.net)'s status on Friday, 28-Jul-2023 18:52:49 JST めいめい うーんcuid2の口上いまいち信用しきれないわね。READMEのほとんどが乱数生成の歴史だし、最後に他実装との比較が出てきてもブラウザの話だし、結局はCSな乱数ソースは信用できないって話のままだし、ほどよく遅いからいいってのもどの加減でって感じがするし…
https://github.com/paralleldrive/cuid2#nanoid-and-ulidIn conversation permalink Attachments
Machismo repeated this. -
めいめい (mei23@misskey.m544.net)'s status on Friday, 28-Jul-2023 18:52:49 JST めいめい NIST-standard cryptographically secure hashing algorithm (Sha3)これはSHA3自体の話であって、SHA3で何か作ればセキュアというわけではない気がするのだわね。
なんか虎の威を借る系の口上が多くて胡散臭く感じちゃうのだわね。In conversation permalink