パスワード生成器 - 強力なランダムパスワード&パスフレーズ オンライン
強力で安全なランダムパスワードと覚えやすいパスフレーズを生成。長さ、文字、複雑さをカスタマイズ — 100%クライアント、保存なし。
パスワード強度
一括生成
よくある質問
パスワード生成ツールとは?
パスワード生成ツールは、暗号学的に安全な乱数生成を使用して、ランダムで予測不可能なパスワードを作成するツールです。人間が作成するパスワード(パターンに従いがちで予測可能)とは異なり、生成されたパスワードは利用可能な文字セットから最大限のランダム性を使用し、ブルートフォース攻撃、辞書攻撃、ソーシャルエンジニアリングに対して極めて強力です。
このパスワード生成ツールの使い方は?
モードを選択してください:パスワード(ランダム文字)またはパスフレーズ(ランダム単語)。長さスライダーで希望のパスワード長を設定(16文字以上推奨)。文字タイプのオン・オフを切り替え。設定変更時にパスワードが自動生成されます。強度メーターを確認し、コピーボタンをクリックしてください。
パスワードデータは安全ですか?
パスワードは100%安全で、ブラウザから外に出ることはありません。このツールはWeb Crypto API(crypto.getRandomValues())を使用してデバイス上で完全にパスワードを生成します。パスワードデータはサーバーに送信されることも、データベースに保存されることも、どこにも記録されることもありません。
パスワードエントロピーとは?
エントロピーはパスワードのランダム性と予測不可能性をビット単位で測定します。エントロピーが高いほど、ブルートフォース攻撃で解読が困難になります。E = L × log₂(C)で計算されます(L=パスワード長、C=文字プールサイズ)。セキュリティ専門家は標準アカウントに60ビット以上、高セキュリティアプリケーションに120ビット以上を推奨しています。
パスワードとパスフレーズの違いは?
パスワードはランダムな文字列(例:K9$mPq2#vL7n)、パスフレーズはランダムな単語の連続(例:correct-horse-battery-staple)です。パスフレーズは高いエントロピーを維持しながら覚えやすい傾向があります。
パスワードはどのくらいの長さが必要?
NISTは最低8文字を推奨していますが、セキュリティ専門家は標準アカウントに12〜16文字以上、機密アカウントに20文字以上を推奨しています。このツールはデフォルトで16文字を使用し、全文字タイプ有効時に約103.8ビットのエントロピーを提供します。
なぜMath.random()ではなくcrypto.getRandomValues()を使うのか?
Math.random()は決定論的アルゴリズムを使用する擬似乱数生成器(PRNG)です。crypto.getRandomValues()はOSのエントロピーソースに基づく暗号学的に安全なPRNG(CSPRNG)で、パスワード生成のようなセキュリティに敏感なアプリケーションに適しています。
コード例
// Secure password generator using Web Crypto API
function generatePassword(length = 16, options = {}) {
const { uppercase = true, lowercase = true, numbers = true, symbols = true } = options;
let charset = '';
if (uppercase) charset += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if (lowercase) charset += 'abcdefghijklmnopqrstuvwxyz';
if (numbers) charset += '0123456789';
if (symbols) charset += '!@#$%^&*()_+-=[]{}|;:,.<>?';
const array = new Uint32Array(length);
crypto.getRandomValues(array);
let password = '';
for (let i = 0; i < length; i++) {
password += charset[array[i] % charset.length];
}
return password;
}
const pwd = generatePassword(20);
console.log(pwd);
console.log('Entropy:', (20 * Math.log2(90)).toFixed(1), 'bits');