web-dev-qa-db-ja.com

大きなランダム値を人間が読みやすくする方法は?

4?1V*8G?ۑL??のような強いランダムな値があります(ここに貼り付けると、一部の文字が?に変更されたため、実際にはさらに悪くなります)。

c8e40ef3764af28d06e25020255a51edなどの16進値に変換できますが、それでもかなり長いです。

短くするために、0から9とaからfだけではなく、数字と完全な(英語)アルファベットを使用することを考えています。

編集。技術的な見地から、0-9a-zA-Z、および*および!。一部の文字を除外することもできますが、除外する文字ごとに%などの他の文字を使用する必要があります。これはjKTB*BbNswbkXJpjy7!4X3のようなものになります。これはc8e40ef3764af28d06e25020255a51edのようなものですか?このルートに行く場合、どのキャラクターを使用する必要がありますか?

質問:

  1. 小文字と大文字の両方を使用する必要がありますか?これにより文字列が短くなりますが、入力が難しくなる場合があります。
  2. 除外される文字はありますか?たとえば、0(ゼロ)とO(文字o)は1(1)とl(文字L)と同様に誤っている可能性があり、Uは誤ってわいせつに見える可能性があります。
  3. ハイフンでフォーマットする必要がありますか?
  4. 他の推奨事項はありますか?
3
user1032531

1)絶対に大文字と小文字を区別しないでください。 (つまり、「abc」または「Abc」または「abc」のいずれかを入力すると、機能します。)

(もちろん、文字列を表示する場合は大文字の大文字のみを使用してください。より明確です。ただし、ユーザーはどちらでも入力できます。違いはありません。)

2)他の文字や数字のように見える「問題のある」文字や数字は絶対に使用しないでください。これらはミックスから完全に省略してください。

3)絶対に4人のグループで存在します。そして最後に3人のグループを言う必要はありません。

(ダッシュかスペースのどちらで区切ってもかまいません。ただし、入力時には、ハイフン、スペース、またはセパレータなしで入力できることを確認してください。)

4)これは非常に役立ちます。16文字または20文字より長くなると、長さはまったく問題になりません。 20になる場合でも、28または32になっても違いはありません(物理的には、これが必要になることはほとんどありませんが、ただ言うだけです)。

しかし、ここが重要なポイントです。

文字のみ、数字のみ、または文字と数字の組み合わせを使用する必要がありますか?

さて、算数ファンはすぐに「文字列を長くすると、文字列が短くなる可能性がある」と指摘するでしょう。しかし、私はその長さをすぐに指摘しますまったく問題ではありません;どちらかを覚えておくことは不可能なので、違いはありません。

したがって、重要な質問への回答として、文字のみ、数字のみ、または文字と数字の組み合わせを使用する必要があります... IMO、あなたは実際にははるかに最善です単に数字のみを使用する

8762 1289 0900 1928 2882 0912 3871

より単純にもっとKISSerです

B3JK MUXC 4KPA 31DG

「ミックス」を使用すると、すぐに多くの混乱が発生する可能性があります。「これは8進数ですか?」 「なぜ1つのグループに番号がないのですか、それは間違いですか?」 「それは「私」ですか?」 -すべてがただ迷惑です。

(数字のみを使用する場合、上記の(1)と(2)の利点のなかでも特に問題はなくなります!)


実際、16桁のクレジットカード番号はこの例です。確かに、彼らはミックスに文字を追加することができました(「より多くの組み合わせ」の場合)。しかし、それがどれほど緊張するかを考えてください。彼らはKISSを選択しました。

別のイルミネーション:非常に短い文字列を扱う場合-2つの文字、次に3つの数字を言います-そして常に固定された順序で、最初の2つが文字で次の3つが数字であることを知ったときはいつでも、文字(より多くの組み合わせを持つため)。確かに...それが車のナンバープレートです。長いものはすべて.. KISSではなく、ミックスから除外する必要があり、利点はありません。

5
Fattie
  1. いいえ、大文字と小文字を混在させないでください(Joe Blowが言ったように)。大文字は簡単に理解できるので、どちらを選ぶべきかわかりませんが、Caps Lockをオンにするか、Shiftキーを押す必要があります。

  2. 可能であれば、Shiftキーが必要になる文字を除外します。これはユーザーを遅くするだけで、エラーの可能性が高くなります。

  3. スペースを使用して文字を離してください。他のものはユーザーを混乱させるだけです。

  4. chunking 戦略を使用して、さらに改善することができます。

1