アカウント名:
パスワード:
昔携わった案件で、0とOなどの相似ペアを抜き忘れたせいで判別の難しいコードを発行してしまった苦い思い出があります。フォントは出版編集の都合や利用者環境に依存するので、コードの設計段階で考慮しておくべきでした。先行例を調査したところ、MSのプロダクトキーが暗黙的に相似ペアを排除していることが分かり、それに準拠した仕様に変更しました。
Microsoft Office のプロダクトキーは、ほかの文字と見間違う可能性のある文字は使用されていません。以下の文字はプロダクトキーに使われることはありませんので、入力していないか確認してください。 数字:1、5、0アルファベット:A、E、I、L、O、S、U、Z
Microsoft Office のプロダクトキーは、ほかの文字と見間違う可能性のある文字は使用されていません。以下の文字はプロダクトキーに使われることはありませんので、入力していないか確認してください。
https://jp.answers.acer.com/app/answers/detail/a_id/61117/ [acer.com]
ソース元のまとめで、Bitcoin用に考案されたBase58が挙がっていますが、これには数字の「1」が含まれているため「I」「l」との判別が難しいですし、判別しにくい例として挙がっている「5」と「S」も含まれているので不十分です。Base32も同様の問題があり、シリアルコード用のエンコーディング方式の決定版を待ち望んでいます。(もし誰か知っていればこっそり教えてください)
> これには数字の「1」が含まれているため「I」「l」との判別が難しいですし、
これは入力を受ける側の処理で、「1」と「l」と「I」を同一視すれば良いんですよ。Base58、Base32には「l」と「I」がありませんからね。「0」と「o」と「O」も同様。紛らわしい文字を入れると勝手に直すUIも見たことあります。
> 「5」と「S」も
これは…うーん…私も知りたいBase32の「5」を「8」に置換した独自コードを使うとか…?
EやUは何と間違うのだろう?3とかVかな?ちょっと遠いような…それより8とBの方が見わけづらいことがあるように思うけど、入ってないんだな…
Uは手書きのVとの混同防止で、Eを含めた母音の排除は下品な単語の成立防止ですね。
なーるほど母音がなければ、下品、冒涜、商標その他、露骨な言葉が現れてしまう確率を大幅に減らせますね。
任天堂も、プリペイドカードとかダウンロードカードとかだとシリアルコードから紛らわしい文字は排除されていたはず。入力時にソフトウェアキーボードからも該当文字がなくなっている徹底ぶり。それだけに今回のは謎すぎる。連携がうまく取れていないのか何なのか。
POSカードは委託先(DNPとか)の方でよしなにやってくれてたんでしょうな。
プロバイダーの標準パスワードも、見間違いやすい文字が含まれないようになってるなパスワード生成ソフトの中にも、見間違いやすい文字を使わないようにできる機能があるのもある
20年前に契約したところだと、初期パスワードに0,1が入ってた。英字4文字+数字4文字で作ってて、発行側には区別が明瞭だったらしい。(苦情を送ったから改善されたはず)
苦情を送ったから改善されたはず
え。
普通にOCR2でいいのでは? 昔の機械にすら読めるなら人間にも容易だろう。最近の機械はむしろ人間よりうまく読みそうだが
普通に数字だけじゃだめなのか?同じ情報量を入れるには桁数1.5倍にはなるがタッチタイピングでない限り入力も速い。
本件はフォントの問題が大きい。糞デザインフォントを考慮すると駄目文字が際限なく増えるし、フォントとセットで考えなきゃだめなんでは無いかと。
最大効率でいくなら視認性が高いフォントで0とOだけ抜いときゃそれでいいんじゃないかね。# 0は斜線入れれば視認性余裕だけど、0含まないコードでOを誤認するので駄目……
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
※ただしPHPを除く -- あるAdmin
シリアルコード用のエンコーディング標準はよ (スコア:5, 興味深い)
昔携わった案件で、0とOなどの相似ペアを抜き忘れたせいで判別の難しいコードを発行してしまった苦い思い出があります。フォントは出版編集の都合や利用者環境に依存するので、コードの設計段階で考慮しておくべきでした。先行例を調査したところ、MSのプロダクトキーが暗黙的に相似ペアを排除していることが分かり、それに準拠した仕様に変更しました。
https://jp.answers.acer.com/app/answers/detail/a_id/61117/ [acer.com]
ソース元のまとめで、Bitcoin用に考案されたBase58が挙がっていますが、これには数字の「1」が含まれているため「I」「l」との判別が難しいですし、判別しにくい例として挙がっている「5」と「S」も含まれているので不十分です。Base32も同様の問題があり、シリアルコード用のエンコーディング方式の決定版を待ち望んでいます。(もし誰か知っていればこっそり教えてください)
Re:シリアルコード用のエンコーディング標準はよ (スコア:2)
> これには数字の「1」が含まれているため「I」「l」との判別が難しいですし、
これは入力を受ける側の処理で、「1」と「l」と「I」を同一視すれば良いんですよ。
Base58、Base32には「l」と「I」がありませんからね。
「0」と「o」と「O」も同様。
紛らわしい文字を入れると勝手に直すUIも見たことあります。
> 「5」と「S」も
これは…うーん…私も知りたい
Base32の「5」を「8」に置換した独自コードを使うとか…?
Re: (スコア:0)
EやUは何と間違うのだろう?3とかVかな?ちょっと遠いような…それより8とBの方が見わけづらいことがあるように思うけど、入ってないんだな…
Re:シリアルコード用のエンコーディング標準はよ (スコア:2)
と言うわけで、/V/ と /U/、/I/ と /J/ は元々紛らわしいのですよね。
/E/ が何と紛らわしいのかはちょっとわかりません。
Re:シリアルコード用のエンコーディング標準はよ (スコア:1)
Uは手書きのVとの混同防止で、Eを含めた母音の排除は下品な単語の成立防止ですね。
Re: (スコア:0)
なーるほど
母音がなければ、下品、冒涜、商標その他、露骨な言葉が現れてしまう確率を大幅に減らせますね。
Re: (スコア:0)
任天堂も、プリペイドカードとかダウンロードカードとかだとシリアルコードから紛らわしい文字は排除されていたはず。
入力時にソフトウェアキーボードからも該当文字がなくなっている徹底ぶり。
それだけに今回のは謎すぎる。連携がうまく取れていないのか何なのか。
Re: (スコア:0)
POSカードは委託先(DNPとか)の方でよしなにやってくれてたんでしょうな。
Re: (スコア:0)
プロバイダーの標準パスワードも、見間違いやすい文字が含まれないようになってるな
パスワード生成ソフトの中にも、見間違いやすい文字を使わないようにできる機能があるのもある
Re: (スコア:0)
20年前に契約したところだと、初期パスワードに0,1が入ってた。
英字4文字+数字4文字で作ってて、発行側には区別が明瞭だったらしい。
(苦情を送ったから改善されたはず)
Re:シリアルコード用のエンコーディング標準はよ (スコア:2)
え。
Re: (スコア:0)
普通にOCR2でいいのでは? 昔の機械にすら読めるなら人間にも容易だろう。最近の機械はむしろ人間よりうまく読みそうだが
Re: (スコア:0)
普通に数字だけじゃだめなのか?同じ情報量を入れるには桁数1.5倍にはなるがタッチタイピングでない限り入力も速い。
Re: (スコア:0)
本件はフォントの問題が大きい。
糞デザインフォントを考慮すると駄目文字が際限なく増えるし、
フォントとセットで考えなきゃだめなんでは無いかと。
最大効率でいくなら視認性が高いフォントで0とOだけ抜いときゃそれでいいんじゃないかね。
# 0は斜線入れれば視認性余裕だけど、0含まないコードでOを誤認するので駄目……