HOME >ランダムパスワード生成 作成ツール

ランダムパスワード生成 作成ツール

文字数指定、全角半角指定、数字指定など個別設定が可能です。
間違えやすい「0(ゼロ)」や「O(オー)」「1(数字の1)」「l(小文字のL)」などは使用していません。
:文字数 【4~20,30,32,40,50,64】
:数字 【2,3,4,5,6,7,8,9】
:英字(小文字) 【a,b,c,d,e,f,g,h,j,k,m,n,p,r,s,t,u,v,x,y,z】
:英字(大文字) 【A,B,C,D,E,F,G,H,J,K,M,N,P,R,S,T,U,V,X,Y,Z】
:上記のチェックを必ず混在させる
:なるべく同じ文字を続けない
:最初に特定の文字列を入れる(例 PASSWORD:)
:うしろに特定の文字列を入れる(例 (半角英数字))

候補1:
候補2:
候補3:
もっとたくさん作る(結果をテキストで表示。最大1000個)

※エクセルのセルに縦に貼り付ける場合「txtで改行して作る」を選択
※エクセルのセルに横にに貼り付ける場合「txtでタブ区切りで作る」を選択
※当サイトでは結果のログは保存していません。テキストBOXに表示した直後にサーバから消えるよう設定しています
 2度と同じものは表示できませんのでお問い合せいただいてもお答えできません。

一覧表を作る(1日/1週/1月 単位)(エクセル貼り付け用。最大50人)


おまけ
このページがエクセルのランダムパスワードで検索されることが多いのでエクセルでも作ってみました。
ランダムパスワードをエクセルの数式で作る場合
作成方法はいくつかある
・混在を無視する方法(使用文字数が少ないと「数字だけ」や「小文字と数字だけ」などになる)
・ランダムで選び出す(同じ文字が連続したり複数個出る場合がある)
・順番に選び出す(この方法だと一見ランダムだが昇順にならんでいる)
上記はパスとして使いにくいので

ここでは、VBA(マクロ)を使わずよく使うエクセル関数を応用して
同じ文字を複数使わない、必ず3種類「数字」「小文字」「大文字」を混在させる方法で作ります。

まずパスワードに使う文字を用意する
例 全部)1234567890(「0」を使う場合先頭にもっていくと消えるので最後に入れる)
例 全部)abcdefghijklmnopqrstuvwxyz
例 全部)ABCDEFGHIJKLMNOPQRSTUVWXYZ
例の全部だと間違えやすい文字があるので、間違えやすい赤い文字は使わない
  A B C
6 数字 23456789 8
7 小文字 abcdefghjkmnprstuvxyz 23
8 大文字 ABCDEFGHJKLMNPRSTUVXYZ 24
「B」列に使用する文字を入れます。
「C」列に使用した文字数を表示。「C2」の数式は =IF(B2="","",LEN(B2))
 ※入力しないときエラーにならないよう IF() を使う。 LEN()は文字数を数えています。

  D E F G H I J K L M N O
9 数字 小文字 大文字 使う桁数計 8  
10 使う桁数 2   使う桁数 3   使う桁数 3   使う文字計 8  
11 使う数字 **   使う文字 ***   使う文字 ***   使う文字計 ********  
データ部分
列 D~F 数字
列 G~I 小文字
列 J~L 大文字
桁数の計算は「数字が1個だけ」や「大文字が1個だけ」というのを避けるため
使用文字数の割合で使う数を決めます。
「K10」の数式は
=ROUNDDOWN(C2*(C8/SUM(C6:C8)),0)
「H10」の数式は
=ROUNDDOWN(C2*(C7/SUM(C6:C8)),0)
「E10」の数式は
=C2-K10-H10
割合を出すにあたってROUNDDOWNを使用してますが3つとも使うと1足りなくなる場合があるので
「E10」の数式は「=C2-K10-H10」全体から引いています。

11行目は下にランダムの数字を用意して呼び出します。
  D E F G H I J K L M N O
12 7 0.153270 6 13 0.459293 p 10 0.584856 K 4 0.742777 7
  ↓  ↓  ↓
37 0.153505 0.459215 10 0.584806 0.742117
数字で10行、アルファベットで26行使います
E、H、K、Nの列でランダムを発生させます。
「E12」~「E21」の数式 =RAND()
同じように「H12」~「H37」、「K12」~「K37」、「N12」~「N37」にも =RAND()
数字の部分で説明
E列に10個のランダムを発生させてD列で RANK()関数を使い順位をつけます

「D12」の数式は
=IF($C$6<1,"",RANK(E12,$E$12:OFFSET($D$12,$C$6-1,1)))
通常のRANK関数は数値と範囲指定ですが、文字数が決まっていないのでOFFSET関数でセルの個数で計算します。
「D13」=IF($C$6<2,"",RANK(E13,$E$12:OFFSET($D$12,$C$6-1,1)))
「D14」=IF($C$6<3,"",RANK(E14,$E$12:OFFSET($D$12,$C$6-1,1)))
「$C$6<1」はエラーを出さないように使用している文字数に応じて消しています

上記数字の「D12」で使用文字がバラバラになるのでその数値を「F12」に表示します
「F12」の数式は
=IF(1>$C$6,"",MID($B$6,D12,1))

この方法で「N11」にランダムな文字列が出来上がります
「N11」の数式は
=O12&O13&O14&O15&O16&O17&O18&O19&O20&O21&O22&O23&O24&O25&O26&O27&O28&O29&O30&O31&O32&O33&O34&O35&O36&O37
「CONCATENATE」関数でも良いのですが SUM関数の sum(O12:O37)のように範囲指定はできないので「&」でも同じ

複数取得したい場合は「M」~「O」列を複数作れば取得できます
またこの方法だと最長26文字ですが「M」~「O」列を増やせば最長62文字までできます。

最後に・・
上記で作成されたパスワードは開くたびに再計算されます。
再計算したくない場合は 数式>計算方法>手動 に設定するか
「N11」をコピーして他のセルに 右クリック>貼り付けオプション(値)で貼り付けてください。

この方法をVBAを使って再計算、値で貼りつけを繰り返せばたくさん作ることもできます。
上記の値で貼りつけを繰り返しVBA(マクロ)のサンプルは

,-----------------------ここから
Range("N11").Select
Selection.Copy
Range("P12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Calculate

Range("N11").Select
Selection.Copy
Range("P13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Calculate

Range("N11").Select
Selection.Copy
Range("P14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
,-----------------------ここまで

「N11」をコピーして「P12」「P13」「P14」に値で貼り付けるマクロです。( Calculate は再計算)
マクロ作成>マクロ名前(pass)>編集

Sub pass()
ここに貼り付けてください
End Sub

以上

「エクセルでほしい」という方はこちらでダウンロード(右クリで対象を保存)してください。(マクロはありません)


 

Copyright (C) 2001-2017 Digital World Corporation. All Rights Reserved.