人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

会員制のIDの振り方でお尋ねします。利用がネットのみなら、ユーザが決めるIDが最善策と思いますが、半分が非ネット利用で半分ネット利用のため運営者がIDを決める必要があります。他の既会員のIDを推測されにくくする為の策を考えています。?アルファベットではなく7桁ぐらいの番号制にすることをどう思いますか?(もちろん認証にはパスワードもあり)。その場合AUTO_INCREMENTは一発で推測されるので駄目でしょう。
そこで、ID生成の目的で「AUTO_INCREMENT,乱数」×(10の7乗)のレコードを作成し、「ORDER BY 乱数」でソートしたテーブルを作成しておき、会員ID発行の際に一つずつ抜き出そうと思っています。要するに一意な数字をランダムな順番で抽出したいのです。単純に乱数にすると、会員数が多くなったときにIDが重複しないかどうかの処理が効率悪くなってくると思いまして。?もっと便利な方法がありますか?
?と?の両方についてアドバイスいただける方のみお願いします。

●質問者: kyoko55
●カテゴリ:コンピュータ
✍キーワード:アドバイス アルファベット ソート ネット パスワード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● paphio
●50ポイント

http://www.n-barcode.com/cd/aboutcd.html

チェックデジットについて

URLは参考です。

この方法は、入力ミスをなくすため、数字のコード設定に広く使われて方法です。

有利点は、計算で求められるため全体数が多い場合総当たりしなくても正しいかチェックできる点にあります。

この応用で、チェックデジットを2桁、3桁にする方法も良いと思います。

もうひとつは、下2桁だけ乱数というのは同でしょうか、上5桁は連番で設定することによりユニークになります。

下2桁は単に推測されるのを防ぐためだけに2桁の乱数で設定します。

管理する場合は、上5桁だけを意識して管理すると管理も簡単になると思います。

◎質問者からの返答

検討してみます。

ありがとうございます。


2 ● taxa
●50ポイント

http://cgi.jp-paradise.net/trial/060/mkpasswd.cgi

1)数字のIDは好きですね。覚えやすいし、携帯会員なども入力しやすいので。

何名くらいの会員数を予定されているのか分かりませんが、10万人くらいの会員の場合は、オートインクリメント5桁+ランダム2桁で可能で、ランダム2桁だけで格段に推測が難しくなります。(100分の1の確率で会員IDを当てて、パスワードまでヒットさせるのはかなり難しいと思います。)

数字7桁というのは人間が簡単に覚えられる桁数なので私は好きです。10万人を超えると上記方法では溢れてしまうため8桁になってしまいますが…。

2)セキュリティをどうしても高くしたい場合は完全ランダムアルファベットだと思いますが、覚えられないのでイヤです。

ネット利用者は好きなIDで、非ネット利用者は「日付(秒数まで)+ランダムアルファベット3桁くらい」にすれば、非ネット利用者の登録作業を数人で行う程度であれば、まずかぶる事はありません。(同じ時間(秒数まで同じ)でランダムアルファベット3文字がかぶる事は考えられないです。心配ならアルファベットをもっと増やせば良いかも)

ちなみに非ネット会員がネット会員になった場合にIDを取り直してもらえば済む問題だと思いますし、その時1度だけならどんな長い難しいIDでも入力してくれると思います。

ちなみに、IDの重複チェックですが、MySQLでも10万人程度なら一瞬ですよ。

◎質問者からの返答

> 携帯会員なども入力しやすいので。

それは気づきませんでした。やはり全て数字にしようと思います。

参考になりましたので、ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ