にしし ふぁくとりー:西村文宏 個人サイト

No.963 - 今日のひとことログ

更新

■LOG No.963

にししふぁくとりーHOMEに掲載している「今日のひとこと」の過去ログ(掲載履歴)です。 RSS

No.963 〔739文字〕

てがろぐCGIの最近のバージョンでは、同一Webページ内で重複すると困る乱数を作る目的で英数字5桁を使っている。英字は大文字と小文字で52個、数字は10個なので、合計62個。これで5桁を用意すればだいたい9億1613万通りくらいになるので、重複チェックをせずに使ってもまあ重複する可能性はとても低いと考えて差し支えないだろう、と。ちなみにもう1桁増やすと568億通りになる。本当に絶対に重複があると困る場合には、リストを作って重複チェックすべきだけども、そこまででもないので。で、英字を含めたのは桁数をできるだけ少なくするためなのだが、偶然に意味のある単語になってしまう弊害がある。Cafe3みたいな当たり障りのない単語だったら別に構わないのだが、放送禁止用語的な文字列の並びに偶然なってしまう可能性もあるわけで、そこがちょっと気になる。ほとんどの乱数はその場限りでしか使わないので、そのような文字列が偶然生成されても問題にはならないだろうけども、一部には意図的に変更しない限りずっと残る場所(CGIの識別文字列を生成する場所とか)でも同じ仕様の乱数を使っているので、ちょっとだけ心配だ。必ず数字を混ぜるようにするか、いっそのことそういう場所では数字だけを使う方が良いのかもしれない。と思ったのは、たまたまB1TCH的な文字列が生成されたのを目撃したからなのだが。9億通り以上も可能性があるのに、なぜ偶然それを生成してしまうのかと。(^_^;) てがろぐCGIの昔のバージョンでは数字だけを使っていて10桁くらい用意していた(数字だけだと10桁で10億100億通り)。ただ、10桁もあると長いので、動的に生成されたコードを動作確認時に読む際に読みにくいので、短くしたかったのだ。
Powered by てがろぐ Ver 2.6.0

--- 当サイト内を検索 ---