10000通りのユニークなシリアル番号を生成させるプログラムを
作りたいと考えています。
00000
00001
00002
...
99998
99999
という数字が縦に並んだテキストファイルを用意して、それを読み込んで
00000→8401923
00001→4234420
00002→1354234
...
99998→4235662
99999→9557346
というような7桁の数字だけのシリアル番号を作りたいのです。
また、一つのシリアル番号、仮に8401923という数字を利用して
下一桁をちょっと変更したぐらいでは、
他のシリアル番号にHitしないような作りにしたいと思います。
10000までの連番の数字に、何かしらのマスク処理をかけて
シリアル番号を生成させる感じだと思うのですが
その、マスクの部分の具体的な処理がよくわからないのです。
また、シリアル番号から、元の連番の数値も出したいと考えていますが
それもどのように処理させればいいのでしょうか?
以上になりますが、どうぞよろしくお願い致します。
No.2ベストアンサー
- 回答日時:
可逆なENCODE/DECODEが出来れば良いのであるから、
ロジックがバレなきゃ何でも良いんじゃないですか?
例えば
数字列(abcd)という4桁の数字に対し、
a + 1 = A
b + 3 = B
c + 5 = C
d + 7 = D
を、それぞれ行い、10以上なら、一の位のみ残す。
そして、数字列(ABCD)にチェックデジット(x)を求め付与する。
出来がった数字列(xABCD)に、もう一度チェックデジット(y)を付与する。
xABCDy となる。
シリアルコードが正当なモノかどうかは、デジット計算で行える。
もとの連番値が知りたいときは、デジット桁を捨てて、
10 + A - 1 = a
10 + B - 3 = b
10 + C - 5 = c
10 + D - 7 = d
それぞれのabcdが、10以上なら、一の位だけを使って
数字列(abcd)とする。
プログラミングは難しくないけれど、ロジックさえバレなきゃ、
想像が付きにくいシリアルコードが作れるハズ。
例)
0000 -> 913570
0001 -> 713588
ポイントは、ロジックが推定しにくくなるように、ということだけです。
No.1
- 回答日時:
> その、マスクの部分の具体的な処理がよくわからないのです。
単純に乱数ではだめですか?
(重複がでたら再度乱数をかければ)
> シリアル番号から、元の連番の数値も出したいと考えていますが
番号とシリアルを対応させたリストを別に作っておくことになるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 教育ソフト・学習ソフト マイクロソフトのシリアル番号と自分のアカウント解除 2 2023/07/19 08:27
- Excel(エクセル) Excelの操作方法を教えてください!頭文字2~8文字で特定の値に返す方法 8 2022/07/14 11:26
- その他(プログラミング・Web制作) バッチファイルでPCのモデル名を取得したい 1 2022/03/31 10:58
- 格安スマホ・SIMフリースマホ 「IMEI」(識別番号、シリアル番号)でネットワーク利用制限が掛かってるか わかりますか? 4 2023/03/03 22:53
- CPU・メモリ・マザーボード マザーボードのシリアル番号 2 2023/06/01 11:24
- バッグ・財布 こちらのバックはなんていう物ですか?シリアル番号あり教えてください 1 2022/06/11 21:32
- その他(スマートフォン・携帯電話・VR) スマホのIMEIはシリアル番号と言うのかスマホの一つひとつの識別番号と言う感じでしょうか? 例えば、 5 2022/12/30 15:15
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- その他(ネットショッピング・通販・ECサイト) メルカリとかでAirPods第2世代を 買いたいと思っているんですけど シリアル番号を聞いて調べたら 4 2023/02/19 18:39
- その他(ソフトウェア) いきなりPDFをメルカリで売りたい 1 2023/03/04 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6で、長い時間かかる処理...
-
VBAのCallステートメントについて
-
C言語のflagの使い方が分かりま...
-
初回起動のみ判別したい
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
-
メモリをアドレスを直接指定し...
-
pythonで演算子を変数に代入す...
-
文字の横にプルダウンを表示さ...
-
FindFirst を複数条件で検索
-
VBA他のブックから値のみ貼付す...
-
実行時エラー 3020の対策
-
ACCESS テキストボックスを隙...
-
セレクトメニューで2つの項目...
-
Python - Excel で Webからデー...
-
Perlで複数の値を返す良い方法...
-
<SELECT>タグの折り返し
-
セレクトボックスのselected属...
-
セレクトボックスである項目を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6で、長い時間かかる処理...
-
初回起動のみ判別したい
-
C言語のflagの使い方が分かりま...
-
実行中の変数の中身をイミディ...
-
UWSC SLCTBOXもしくはSELECTに...
-
perl:ループのカウンタ変数の値...
-
arduino の割り込み処理について
-
問題作成のWebアプリの作り方を...
-
VBAのCallステートメントについて
-
処理終了後、他のページへジャ...
-
フラグをたてる、、の意味を教...
-
夕方くらいから急にGoogle検索...
-
HTML
-
SetDlgItemInt( ) c++
-
教えてください。 画像処理のプ...
-
C言語のプログラミング
-
バッファリング処理を高速化し...
-
Pythonでこのプログラミングを...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
おすすめ情報