結果だけ見る
abcdefghijk mnpqrstuvwxyz
ABCDEFGH JKLMNPQRSTUVWXYZ
23456789
-_.:!
// 仕様が文字セットをオーバーライドしない場合に使用されるデフォルトの文字セット。
// 見た目が似ているため文字を削除しました:
// - l (小文字の L )
// - I (大文字の i )
// - 1 (数字の1)
// - O (大文字の o )
// - 0 (ゼロ)
// - o (小文字の O)
ほか
こういう実装になっている
constexpr char kLowerCaseChars = "abcdefghijkmnpqrstuvwxyz";
constexpr char kUpperCaseChars = "ABCDEFGHJKLMNPQRSTUVWXYZ";
constexpr char kAlphabeticChars =
"abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ";
constexpr char kDigits = "23456789";
constexpr char kSymbols[] = "-_.:!";
DevToys の2系では仕様変更で Iとl (大文字のiと小文字のL) が表示されるようになります。
良いのか?という質問をして、そのまま通したので、オーナーがそういうならそれで良いんじゃないですか。という気持ちになったやつ。
ダメなら抑制するオプションを作ってやればいいのです。
早くパスワードというものが無くなると良いのでは?と思ったのと同時に、Chrome での実装時からどのような文字列が出てくるのか気にはなっていたので、ヨシとしましょう。
なお、Chromium (というか Chrome) はもう少し親切な実装になっていて、数字だけとか小文字だけになっちゃった。という事にならないようにどうにかする設計になっているようです。
最低でも3種類が1つ以上出る、というような実装。
Firefox はこちら。