This page is Japanese code S-JIS
パスワード・ジェネレータ/セキュアな乱数版

このブラウザでは利用できないようです

パスワードを生成します。

というか、ランダムな文字列を生成します。

COM 版は、ここのメソッドの一つにしました。

こちらのパスワード・ジェネレータから、セキュアな乱数を使用するように変更しました。

2022/01/14 最初のバージョン

パスワードの長さ文字
含める文字の種類
  • 英大文字
  • 英小文字
  • 数字
  • 記号
指定した文字種は必ず含める


結果




仕組み
ソースみてちょ

基本は、文字コードに割り当てた乱数を作り、一つずつを "%" + 数字(16進数)に変換して、unescape() 関数で文字にしているだけ。

CrePas()
PasGene() 関数を汎用的にするためのラッピングの関数

PasGene(min,max,snu,sal,sas,ssy,chk)
種々のり初期化、入力チェックを行い、min から max の間の乱数を生成し、PasGeneMain() 関数を呼び出す
本プログラムの親関数と言える。
本プログラムでの乱数は、PasGeneMain() の Count 引数(これがパスワードの文字数となる)に引き継がれる。

なにがしかのエラーの場合空白を返す
(例えば、chk=1 なのに、文字種以下の文字数が指定されているなど)
min,max が整数でない場合、空の文字列を返す

PasGeneMain(counts,snu,sal,sas,ssy,types)
counts 引数に指定された回数だけ、PasFunc() 関数を呼び出す。
types に、指定した文字種を全て含める。がチェックされていた場合、生成された文字列に含まれている文字種を数え、満たしていない場合、自分自身を呼び出す。(再帰的)
スタック・オーバー・フロー対策はしていない。



PasFunc(nu,al,as)
文字コードに割り当てた乱数を生成し、"%" + 数字(16進数) という文字列を生成
どれかが、1 でないと、空の文字列を返す




再利用について
基本的には、PasFunc() 関数と、PasGeneMain() 関数と、PasGene() 関数をコピーして、上述の仕様通りに、PasGene() 関数を呼び出せばいい。

ただし、整数判断で、moji_chks() 関数も使用しているので、コピーする必要がある。
これは、このソースにもあるし、ここに説明が。

ダイスウェア・パスフレーズというものもある。
その COM コンポーネントは、ここ

私のパスワードメモは、ここ


動作確認ブラウザ
Microsoft Edge 97.0.1072.55 (x64)
OK




Blazor/WebAssemblyを使ったバージョン
こちら


mail to active@window.goukaku.com