• 締切済み

解読されにくい規則性のある十数桁の英数

十数桁の英数字(ID)をユーザーに与え、ユーザーがこのIDを使って ユーザー名やパスワードを登録するシステムを考えています。 IDを所有する者だけが登録できるようにしたいので、IDには ある規則性が必要だと思います。 イメージとしては、缶コーヒやペプシに付いているシールがそうです。 めちゃくちゃな番号を入力しても、「この番号は無効です。」とエラーになります。 このようなIDを発行する場合、どのような規則性を英数に持たせればいいでしょうか? 思いついたのは、 案1:偶数奇数の順を決めておく。 案2:あらかじめ不規則な英数をシステムに記憶しておき、ユーザーにその内どれかを与える。 他に何か良い案がありましたら教えてください。

みんなの回答

  • Knotopolog
  • ベストアンサー率50% (564/1107)
回答No.3

規則性を英数に持たせる ID の作成は,幾らでも方法があります. ● 方法1: ユーザーへ ID を与える時の日時を暗号化する方法. 例A: 2011年9月9日,10時54分12秒に,ユーザーへ ID を与えるとします. まず,数字0~9をアルファベット(英小文字)に対応させておきます. 0 → o, 1 → a, 2 → b, 3 → c, 4 → d, 5 → e, 6 → f, 7 → g, 8 → h, 9→ i. 上記を使って,2011年9月9日,10時54分12秒のユーザーには,   boaaiiaoedab  の ID を与えます. ● 方法2: ユーザーへ ID を与える時の日時 2011年9月9日,10時54分12秒 に対して,平方根を用い,上記の数字 → アルファベット法により暗号化する方法. 例B: 2011年9月9日,10時54分12秒から,数字のみを並べると, 201199105412 です.この平方根は, 448552.232646 なので,これをアルファベットに翻訳すれば,   ddheebbcbfdf  がユーザーの ID となります. この他に方法は,幾らでもあります.上記の方法が,もし,不安ならば,ddheebbcbfdf の活字の間に,もう一度,abcdefghhik を入れて, dadbhcedeebfbgchbhfidkf にすれば,なお調密な ID になります. ● 注意1: ユーザーに与える ID が絶対的にダブリがないようにするには,その時の日時を使うのが比較的簡単な方法です. ● 注意2: チェックデジット は,最後に計算して追加すればよい. ● 注意3: もし必要なら,チェックデジット の算出方法を新たに定義すればよい.(チェックデジットの算出法の定義は難しいかも知れない) 以上のような方法では,如何でしょうか?

  • arukie
  • ベストアンサー率32% (716/2188)
回答No.2

昔から常識的にチェックデジットを付ける物だと思っていましたが。 チェックデジットをつけられない訳でもありますか? それとも、チェックデジット自体を知らないのでしょうか?

  • hashioogi
  • ベストアンサー率25% (102/404)
回答No.1

誤り訂正符号を使用したら ?

関連するQ&A

  • 在来線、特急列車に対する規則性を見つけました

    JRの在来線、特急列車に対する規則性を見つけました。 まずキハを除く在来線って全て奇数ですよね? E233系、E231系,201系,211系・・・・ すべて系の前の番号は自分が知っているものとしては奇数です。 ほかには特急も100以上で表される系列は自分の知っている限りでは全て奇数です。 485系や251系やE259系・・・・・ まとめるとJR在来線、JR特急列車だけで考えると 100以上の数字を表す系列であってかつキハを取り除く列車は全て奇数(?) というのを自分で予想したんですが、これは当たっていますか? それからそれらの車両をなす中で 偶数にしなかった理由もありますか?

  • ID番号を指定してユーザ登録

    RedHatLinux7.0を使っています。ユーザ登録をするとユーザIDは500番以降が自動的に使われます。しかしユーザ削除をするとそのID番号は未使用になり、ユーザ登録と削除を繰り返すとID番号の空白ができてきます。 そこで新規に登録するときにその空いたID番号を指定してユーザ登録したいのですがその方法を教えてください。

  • Accessでクエリに規則性の無い重複データが

    Accessに二つのテーブルを作りました。 Tユーザー情報 ・ユーザーID ・郵便番号 ・性別 T都道府県 ・都道府県名 ・郵便 Tユーザー情報には都道府県のデータがないため、 T都道府県とひもづけたいのです。 続いてクエリを作成しました。 ・ユーザーID(Tユーザー情報) ・性別(Tユーザー情報) ・郵便番号(Tユーザー情報)→リレーションシップ:郵便(T都道府県) ※結合プロパティで「両方のテーブルの結合フィールドが同じ行だけを含める。」 ※無効な〒番号のユーザーは省きたいため ・都道府県(T都道府県) 結果、Tユーザー情報の件数よりも、クエリのレコードの件数が多くなってしまいました。 ユーザーIDを見ると、全く同じレコードが数行混ざっていました。 重複レコードはそれぞれ件数が違い、規則性も見つかりません。 全体で10万件のうち8千件くらいの重複データができてしまいます。 googleで調べると、もともと重複データのあるレコードを削除する方法は あるようですが難しく、そもそも重複データを作らない方法が見つかりません。 クエリの作り方が間違っているのでしょうか… どうぞよろしくお願い致します。

  • どっちが正しいプロダクトキー

    ノートPCを使っています パソコンの裏にシールが貼ってあってそこに プロダクトキーとして、25文字の英数字が書いてあります。 しかしパソコンのシステムの情報にもプロダクトキー?(プロダクトID)と言う事で20文字の英数字があります。 (参考に画像を添付します) どっちが正しいプロダクトキーなのでしょうか? よろしくお願いします。

  • 塗りつぶしモード ALTERNATEとWINDING

    WINDOWSプログラミングで CreatePolygonRgnで多角形のリージョンを つくるときに、 http://www.kumei.ne.jp/c_lang/sdk2/sdk_126.htm にあるように、塗りつぶしモードがALTERNATEとWINDINGの2つあるのですが、 ALTERNATE:多角形の奇数番号の辺と偶数番号の辺の間を塗りつぶす WINDING:ワインディング値(多角形を描画するペンがリージョンの周囲を回る回数)が0でないリージョンを塗りつぶす という説明なんですが、意味がよくわからないでおります。 http://wisdom.sakura.ne.jp/system/winapi/win32/win29.html に描画例があるのですが、なんでこういう図になるのかがわかりません。 多角形の奇数番号の辺と偶数番号の円の間とは、どんな領域になるのでしょうか。回る回数が0でないとは、どういう意味になるのでしょうか。 ご存知の方いましたら教えてください。よろしくお願いします。

  • 【懸賞サイト作成】番号入力で応募できる認証ページ

    お世話になっております。 缶コーヒーやペットボトルなどにシールがついていて、番号を入力すると応募ページに飛べるクイズや懸賞応募サイトを作りたいのです。 概要は、商品についている番号を認証すると、 応募フォームが(数種類のフォームのなかから一つがランダムもしくは、IDごとにふりわけで)表示され、 フォームから情報を登録して送信できればいいのですが、 認証の部分で思う通りのことができず困っています。 色々なプログラムはわからないので、PHPのユーザー認証でやろうと思っているのですが、 クッキーを使用したプログラムがほとんどで、お手上げ状態です。 今参考にしているのは、 http://photoartisan.jp/storage/2010/08/auth.html ↑のユーザー認証を使用しています。 知識も足りなくて、全然思い通りに動いてくれません。 希望は、 (1)シールのIDは1万個程度。ini.phpなどにIDとPASSを記載して認証したい。  (フォームへの入力式にしたい) (2)ジャンプ先各2000ずつ5種類の応募フォーム(html)に振り分けたい   (応募フォームを数種類用意して、ランダムもしくは任意でジャンプ先を変更) (3)クッキーにIDを覚えさせたくない  (リロード、再応募の時に別のシール番号を入力するため) (4)欲張れるのであれば、一度認証して応募が完了したIDは、応募不可にしたい。 1~3のことができれば、どんなプログラムでも構いません。 どなたかご教授よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ID及びパスワードの登録が上手くできない

    パソコンで電話会社へ登録するのに、ID及びパスワードの登録を試みていますが、特にパスワード入力にエラーが出て何回行っても上手く行き来ません。 大変申し訳ございません。 何方か下記入力条件の内容から、参考になるID及びパスワードを作ってみてくださいませんか。 ID(ログインに利用するID):アルファベットで始まる4~32文字の半角英数小文字、記号(アンダーバー「_」のみ)で入力して下さい。 パスワード:半角英数字記号(「~」「`」「!」「@」「#」「$」「%」「^」「&」「*」「(」「)」「-」「_」「+」「=」)を組み合わせた8~32文字で入力して下さい。 大文字、小文字は区別されます。 と記入されているのですが、なかなか作れません。 どうぞよろしくお願いします。

  • ある求人サイトのメンバー登録エラーについて

    就職活動をしようと思い「第一産業ネット(http://www.sangyo.net/index.php)」というサイトに無料メンバー登録しようと思ったのですが、何度試してみてもシステムエラーが出てしまい、登録出来ませんでした。管理者に表示されたシステムエラーをコピー&ペーストして報告したのですが、 「お問い合わせの件ですが、こちらで確認したところそのようなエラーは発生致しませんでした。 お手数ですが、今一度、登録手順に従い、1つ1つ確認しながら、登録の方をして頂きたいと思います。」 とのことでしたが、再度試してみても結果は変わらず、システムエラーで登録できませんでした。 これは私のPCがおかしいという事なのでしょうか? そこで管理者に聞くより皆さんに聞く方が解明できるのではないかと思い投稿させていただきました。 よろしくお願いします。 追記1:ちなみに携帯版の方でもメンバー登録を試してみたのですが、「リクエストされたページは表示できません。」と出て登録出来ませんでした。 追記2:自分なりにエラー箇所を探してみたところ、ログインIDの箇所がおかしいのではないかと思いました。 全角入力すると「ログインIDの重複となります。」と出て、半角英数字で入力すると前記のシステムエラーが出る状態です。 これも管理者に報告しましたが、「対処法としてインターネットオプションにてcookieの履歴を削除し、英数字半角で(4文字以上10文字以内)でお願いします。※他のユーザー様とIDが重複する場合登録できません。」とのことでしたが、やはり解決できませんでした。

  • 【EXCEL】 入力規則-リストを利用したaliasによるデータ参照入力

    EXCELでの話です。 例えば、下記データ構造("代表名:ID")をリストに登録しておくとします。 "リンゴ:A1" "みかん:A2" "キャベツ:B1" あるセルに入力規則の設定をして、プルダウンメニューに上記リストを表示させます。 この後、以下のような制御をさせることは可能でしょうか? ■選択した情報からIDを読み取り、対象セルに自動入力させる。  (例.ユーザが"みかん:A2"を選んだ場合、そのIDである"A2"のみをセルに自動入力させる) できれば、マクロを使わずに、既存のファンクション(入力規則などの)のみで実施したいと考えています。

  • 最初のYahooのIDやメールアドレスを変えられますか?

    私のYahooのIDは、数年前にYahooBBに加入した時に、最初のでたらめな英数字のままになっています。 メールアドレスも、@より左がでたらめな英数字になっています。 オークションは、今「オークションのユーザー登録」というボタンを押してみたのですが、そうしたらすぐに「登録完了」となって、オークションのIDもこのでたらめなIDになってしまいました。 (「こんにちは、(でたらめなID)さん」と出ています。) 数年間放置していましたが、これらを変更するにはどのようにしたらよいのでしょうか? メールアドレスの変更はできそうなページがあったのですが、メールアドレスを変更すると、メールアドレスの左がそのままIDになるのか気になって、できないでいます。 メールアドレスとIDはできれば違うものにしたいのですが、可能でしょうか?