This page is Japanese code S-JIS
パスワード・ジェネレータ

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

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

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

2001/10/xx アルゴリズムを修正

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 コンポーネントは、ここ

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


動作確認ブラウザ
Netscape Navigator 3.04en for MS-Windows2000
OK
Netscape Communicator 4.6jp for MS-Windows9x
?
Netscape Communicator 4.72jp for MS-WindowsNT4.0
OK
Netscape Communicator 4.75jp for MS-Windows2000
OK
Netscape Communicator 4.75jp for RedHat Linux7
OK
Netscape Communicator 4.79Jp for RedHat Linux7.3
OK
Netscape 6jp for MS-Windows2000
OK
Netscape 6.1 for MacOS9.2.2 (J1-9.2.2 MacOSROM J1-8.8.1)
OK
Internet Explorer 5.0(2022) for MacOS9.2.2 (J1-9.2.2 MacOSROM J1-8.8.1)
OK
Internet Explorer 4.72.3110.1 SP1 for MS-Windows9x
?
Internet Explorer 4.72.3110.8 SP1 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2314.1003 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2919.6307 for MS-WindowsNT4.0
OK
Internet Explorer 5.00.2920.0000 for MS-Windows9x
OK
Internet Explorer 5.00.2920.0000 for MS-Windows2000
OK
Netscape Communicator 4.7jp for MacOS9.04
OK
Netscape 6.2.1jp for MS-Windows2000
OK
Netscape 6.2.3jp for MS-Windows2000
OK
Opera (free) 5.12 build932 for MS-Windows2000
OK
Mozilla 0.9.9 for RedHat Linux7.3
OK




セキュアな乱数を使ったバージョン
こちら


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


mail to active@window.goukaku.com