概要
勉強の為と思って自作してみました。
マイナンバーって乱数の12桁じゃダメなん?って感じなんだけど
ちゃんとチェックデジットってのがついてて11桁+チェックデジット1桁で構成されてる。
11桁の乱数を生成してチェックデジット計算しましょうねーってのを作った
皆さん興味ある分野なのか調べたら2年くらい前の記事がゴロゴロ出てきた。
あと法人番号(マイナンバーの法人版)と住民票コードも調べて作れるようにしてみました。
20180114追記
乱数生成部分変更しました。
20180423 追記
上記のやり方めっちゃ間違ってます。別記事にて書き直しました。
目次
ソース
https://github.com/Lycheejam/mynumber 🔗
乱数の生成
普通に引数で指定した桁数の乱数を生成して配列で返す感じです。
先頭が0とかは特段考慮に入れなくていいっぽいです。
チェックデジットの計算
参考文献がゴロゴロあったので難しい計算式を
簡単に書いてくださってる方とかいて楽でした。
いや、なんかここ頑張った!みたいなとこがないので解説しようがないというか
参考サイト様
- https://qiita.com/kmz_kappa/items/af18ac7b6b8bfe9041b0 🔗
- 図解付きで超理解しやすい。
- https://qiita.com/qube81/items/fa6ef94d3c8615b0ce64 🔗
- 係数の算出方法書いてくれてます。
- https://qiita.com/yoshi389111/items/00ca7b3ed9ceac904cde 🔗
- これは各種チェックデジットの計算方法が解説されててわかりやすかったです。
- http://stabucky.com/wp/archives/6518 🔗
- https://ja.wikipedia.org/wiki/%E4%BD%8F%E6%B0%91%E7%A5%A8%E3%82%B3%E3%83%BC%E3%83%89 🔗
- https://dobon.net/vb/dotnet/programing/arrayreverse.html 🔗
- https://dobon.net/vb/dotnet/programing/random.html 🔗
雑感
ボタンクリックイベントと同時にコピーされる機能を付けた方がいい
あと最前面表示機能
場所を節約するならテキストボックスはいらないかな?