34

どのようにパスワードを生成しますか?

  • ランダムなキャラクター?
  • パスフレーズ?
  • High Ascii?

このようなもの?

cat /dev/urandom | strings
4

43 に答える 43

96

Mac OS X の「キーチェーン アクセス」アプリケーションを使用すると、優れた OS X パスワード ジェネレータにアクセスできます。command-N を押して、鍵のアイコンをクリックします。パスワードのスタイル (覚えやすい、数字、英数字、ランダム、FIPS-181) を選択し、長さを選択できます。また、脆弱なパスワードについても警告します。

于 2008-09-19T14:23:52.563 に答える
25

これを使用して、強打します:)

cat /dev/urandom | tr -dc 'a-zA-Z0-9-!@#$%^&*()_+~' | fold -w 10 | head -n 1

人数を変更して、パスワードの数を生成します。

于 2012-10-30T07:48:37.960 に答える
12

もともとpythonクックブックからパスワードを生成するための短いpythonスクリプト。

#!/usr/bin/env python

from random import choice
import getopt
import string
import sys

def GenPasswd():
    chars = string.letters + string.digits
    for i in range(8):
        newpasswd = newpasswd + choice(chars)
    return newpasswd

def GenPasswd2(length=8, chars=string.letters + string.digits):
    return ''.join([choice(chars) for i in range(length)])

class Options(object):
    pass

def main(argv):
    (optionList,args) = getopt.getopt(argv[1:],"r:l:",["repeat=","length="])

    options = Options()
    options.repeat = 1
    options.length = 8
    for (key,value) in optionList:
        if key == "-r" or key == "--repeat":
            options.repeat = int(value)
        elif key == "-l" or key == "--length":
            options.length = int(value)

    for i in xrange(options.repeat):
        print GenPasswd2(options.length)

if __name__ == "__main__":
    sys.exit(main(sys.argv))
于 2008-09-19T12:15:07.303 に答える
8

オープンソースのKeepassツールには、強化されたランダム化など、パスワード生成のための優れた機能がいくつかあります。

于 2008-09-19T12:19:17.540 に答える
6

私はパスワードセーフを使用してすべてのパスワードを生成および保存します。これにより、非常に強力なパスワードを覚えておく必要がなくなります(金庫のロックを解除するパスワードを除く)。

于 2008-09-19T12:47:56.257 に答える
6

あなたの提案のわずかなバリエーション:

head -c 32 /dev/random | base64

必要に応じて、末尾をトリミングして改行を取得するために=使用できます。echo

echo $(head -c 32 /dev/random | base64 | head -c 32)

これにより、印刷可能な文字のみを確保しながら、より予測可能な出力長のパスワードが得られます。

于 2012-11-20T12:59:21.950 に答える
4

apgのアルゴリズムはかなりクールです。しかし、私は主に自分で定義したリストからランダムな文字を使用します。それは主に数字、大文字と小文字、そしていくつかの句読点です。「1」、「l」、「I」、「O」、「0」などの別の文字と間違えられがちな文字を削除しました。

于 2008-09-19T12:15:16.757 に答える
4

ランダムな文字のパスワードは好きではありません。それらは覚えるのが難しいです。

通常、私のパスワードは、その情報が私にとってどれほど重要であるかに基づいて階層に分類されます。

私の最も安全なパスワードは、私が若すぎて愚かで、変更して記憶する方法を知ることができない、古いBBSランダム生成パスワードの組み合わせを使用する傾向があります。シフトキーを自由に使用して、それらのいくつかを追加するとうまくいきます。それらを使用しない場合は、パスフレーズの方が適しています。おそらく、私が楽しんでいる本のフレーズですが、ここでも、大文字と小文字が混在し、特別な記号が付いています。多くの場合、複数のフレーズ、または1つのフレーズからの複数の単語を、別のフレーズからのいくつかと連結して使用します。

優先度の低いサイトでは、私のパスワードはかなり短く、一般的にはいくつかの使い慣れたトークンの組み合わせです。

私が最大の問題を抱えているのは仕事です。30日ごとにパスワードを変更する必要があり、パスワードを繰り返すことができません。私は他のみんなと同じように、パスワードを考え出し、最後に増え続けるインデックスを追加します。そのようなパスワード規則はばかげています。

于 2008-09-19T12:21:05.510 に答える
4

Webサイトでは、ハッシュ関数(MD5に基づく)を使用して、マスターパスワードとドメイン名からサイト固有のパスワードを取得するSuperGenPassを使用します。そのパスワードをどこにでも保存する必要はありません(SuperGenPass自体はブックマークレットであり、完全にクライアント側です)。マスターパスワードを覚えておいてください。

于 2008-09-19T12:29:24.583 に答える
4

パスワードを何に使用するか、およびデータの機密性に大きく依存すると思います。クライアント用にある程度安全なパスワードを生成する必要がある場合は、通常、覚えやすい文を使用し、各単語の最初の文字を使用して数字を追加します。'stackoverflow で使用する極秘パスワード' => 'tspfuos8' のようなもの。

ただし、ほとんどの場合、Linux の「pwgen」ユーティリティを使用してパスワードを作成します。複雑さと長さを指定できるため、非常に柔軟です。

于 2008-09-19T13:13:19.707 に答える
4

pwgen と呼ばれる標準の UNIX ユーティリティ。ほぼすべての UNIX ディストリビューションで利用できます。

于 2008-09-19T14:02:05.593 に答える
3

私はKeePassを使用して複雑なパスワードを生成しています。

于 2008-09-19T12:15:39.203 に答える
3

https://www.grc.com/passwords.htmを使用して、WPAキーなどの長いパスワード文字列を生成します。ある種の登録サイトを実装する必要がある場合は、これを(スクリーンスクレイピングを介して)使用して、認証パスワードハッシュ用のソルトを作成することもできます。

于 2008-09-19T12:25:25.047 に答える
3

状況によっては、PerlのCrypt :: PassGenモジュールを使用します。このモジュールは、単語のコーパスでマルコフ連鎖分析を使用します(たとえば、合理的なUnixシステムでは/ usr / share / dict / words)。これにより、適度に発音可能で覚えやすいパスワードを生成できます。

とはいえ、$ workでは、ハードウェアチャレンジ/レスポンストークンメカニズムに移行しています。

于 2008-09-19T12:41:31.980 に答える
3

強力なマスター パスワードを好きなように選択し、各サイトのパスワードを cryptohash(masterpassword+sitename) で生成します。サイト B のパスワードが悪用されても (悪意のある管理者、WLAN スニッフィング、サイト侵害などにより)、サイト A のパスワードを失うことはありませんが、覚えておく必要があるパスワードは 1 つだけです。

于 2008-09-19T13:09:50.603 に答える
2

最近、パスワードを生成するための珍しい方法を使用しました。それらは非常に強力である必要はなく、ランダムなパスワードは覚えるのが非常に困難です。私のアプリケーションには、北米の都市の巨大なテーブルがありました。パスワードを生成するために、乱数を生成し、ランドンシティを取得して、別の乱数を追加しました。

boston9934

数字の長さはランダムであるため(追加、追加、またはその両方の場合のように)、ブルートフォース攻撃は簡単ではありませんでした。

于 2008-09-19T12:45:32.267 に答える
2

JoelSpolskyが短い記事を書きました:パスワード管理がついに可能になりました

…ついに、すべてのパスワードを管理するための良い方法があります。このシステムは、定期的に使用するコンピューターの数に関係なく機能します。Mac、Windows、およびLinuxで動作します。安全です。パスワードはインターネットサイトに公開されません(信頼できるかどうかは関係ありません)。サイトごとに安全性の高いランダムなパスワードを生成します。すべての設定が完了すると、かなり使いやすく、パスワードファイルのオンラインバックアップがオンラインで維持され、無料で利用できます。

彼は、 DropBoxPasswordSafeまたはPasswordGorillaの使用を推奨しています。

于 2008-09-19T14:18:55.053 に答える
2

ええと、私のテクニックは、好きな曲の単語の最初の文字を使用することです。例が必要です: 毎晩夢の中で、あなたに会い、あなたを感じます...

ください:

enimdisyify

...そして、i=1、o=0 などの数字を少し挿入します...

en1md1sy1fy

...大文字?常に自分自身を大切にしてください:)

そして最後のパスワードは…

en1Md1sy1fy

于 2008-09-19T13:27:33.367 に答える
2

ほとんどの場合、dd if=/dev/urandom bs=6 count=1 | mimencode結果をパスワードセーフに入力して保存します。

于 2008-11-14T11:59:05.270 に答える
2

ここでいくつかの優れた回答を読んで試してみましたが、微調整が簡単で、非常に一般的な Linux ユーティリティとリソースを使用できる生成手法をまだ探していました。

答えはとても気に入りましたgpg --gen-randomが、少しぎこちなく感じましたか?

さらに検索した後、この宝石を見つけました

echo $(</dev/urandom tr -dc A-Za-z0-9 | head -c8)
于 2010-12-09T08:55:32.243 に答える
2

パスワード:

$ gpg --gen-random 1 20 | gpg --enarmor | sed -n 5p

パスフレーズ:

http://en.wikipedia.org/wiki/Diceware

于 2008-09-19T15:11:55.613 に答える
2
import random

length = 12
charset = "abcdefghijklmnopqrstuvwxyz0123456789"

password = ""
for i in range(0, length):
    token += random.choice(charset)

print password
于 2009-01-11T01:14:53.260 に答える
1

MacではRPGを使用しています。

于 2008-09-19T12:17:36.250 に答える
1

PHPでは、ASCIIテーブルからランダムな文字列を生成します。(疑似)ランダム英数字文字列の生成を参照してください。

于 2008-09-19T12:18:00.603 に答える
1

私は外国語の文のイニシャルから始め、それらのいくつかを大文字にするためのいくつかの慣習があります。次に、文の特定の部分に、アプリケーションまたはWebサイトの名前から派生した数字と記号の組み合わせを挿入します。

このスキームは、アプリケーションごとに一意のパスワードを生成します。このパスワードは、頭の中で毎回問題なく(つまり、暗記することなく)再導出でき、辞書に表示される可能性はありません。

于 2008-09-19T12:21:05.417 に答える
1

パスワードを作成するシステムでパスワードが受け入れられるかどうかを確認するには、追加のルールをコーディングする必要があります。一部のシステムには、「2桁以上2つの大文字」などのポリシーがあります。パスワードを1文字ずつ生成するときは、必要に応じて数字/アルファ/大文字のカウントを保持し、パスワードの生成をdo..でラップします。その間、パスワードの生成は(digitCount> 1 && alphaCount> 4 && upperCount)まで繰り返されます。 > 1)、または何でも。

于 2008-09-19T12:25:37.370 に答える
1

パスワードモンキー、iGoogleウィジェット!

于 2008-09-19T12:43:29.933 に答える
1

Perl プログラムで印刷可能な ASCII 文字をランダムに生成し、より「安全な」パスワードを生成するのに役立つ追加のルールがある場合は、スクリプトを微調整します。パスワードを付箋に書いておいて、1 日か 2 日後に破棄することもできます。私の指はそれを記憶し、私のパスワードは完全に推測不可能になります.

これは、私が毎日使用するメインのログイン パスワードであり、実際、座って画面のロックを解除するときに 1 日に何度も使用します。これにより、簡単にすばやく覚えることができます。明らかに、他の状況のパスワードは別のメカニズムを使用する必要があります。

于 2008-09-19T13:26:41.280 に答える
1

Firefox アドオンの Password Hasher は、パスワードを生成するのに非常に優れています: Password Hasher

Web サイトには、アドオンのオンライン代替機能もあります: Online Password Hasher

于 2008-09-19T13:19:54.883 に答える
0

ウェブサイトの場合、これは登録しているサイトにとって記憶に残る何かと組み合わされた「秘密の」言葉です。

それ以外の場合は、ランダムに生成されたパスワードを使用します。

于 2008-09-19T13:51:56.307 に答える
0

ユーザーが覚えやすいパスワードを生成したい場合は、マルコフ連鎖を見てください。http://en.wikipedia.org/wiki/Markov_chain

このアルゴリズムは、発音可能な無意味な単語を生成できるため、覚えやすくなり、電話で中継しやすくなります。ちょっとした Google-fu で、ほぼすべての言語のコード サンプルを入手できます。

また、実際の単語として出てくるパスワードを除外するために、優れた辞書を入手する必要があります。

もちろん、これらは強度の高いパスワードではありませんが、基本的なアクセス制御が必要で、覚えにくいパスワードでユーザーに負担をかけたくない場合には非常に適しています。

于 2008-09-19T15:13:50.227 に答える
0

通常はleetspeakのように見える、かなり覚えにくい記号、数字、大文字と小文字の文字列を手動で生成します。

例:

&p0pul4rw3b$ite!

次に、Web メールを介してどこからでもアクセスできるように、それらを電子メールの下書きとして保存します。

于 2008-09-19T14:24:48.770 に答える
0

Githubで入手できる、自分で書いた Perl スクリプトをいくつか使用しています。

gen-password7bp4ssi02d4i長さと文字セットを指定するオプションを使用して、 のようなパスワードを生成します。(私の銀行が知る限り、それは私の母の旧姓です。)

gen-passphraseこの XKCD 漫画porcine volume smiled insertに触発された辞書の単語を使用して、 のようなランダムなパスフレーズを生成します。

どちらもデフォルトでランダム データを取得/dev/urandomしますが、代わりに使用するように指示できます/dev/random

パスワードは暗号化されたデータベースに保管しており、複数のサイトで同じパスワードを使用することはありません。私は実際にそれらのほとんどを覚えています。

于 2013-01-23T16:15:34.047 に答える
0

Crypt::GeneratePasswordモジュールを使用します。

于 2008-09-19T13:35:23.270 に答える
0

Jeff Atwoodは、パスワードではなくパスフレーズに切り替えることを提案しています。

于 2008-09-19T14:36:05.777 に答える
0

かなり重要なものについては、「xme7UpOK」のように、文字と数字の組み合わせを使用するのが好きです。これらは、このワンライナーで生成できます。

perl -le 'print map { (a..z,A..Z,0..9)[rand 62] } 1..8'

あまり重要でないものについては、「loskubov」や「gobdafol」など、入力、発音、覚えやすいパスワードを使用するのが好きです。これらは次のように生成できます。

perl -le '@l=("aeiou", "bdfgjklmnprstv");
          print map {(split "",$l[$_])[rand length $l[$_]]} split "", "10110101"'

ここで、「10110101」は母音と子音のパターンです。

于 2010-10-21T21:15:18.427 に答える
0

makepasswdは、Linux の /dev/random 機能を使用して真のランダム パスワードを生成し、発音可能性よりもセキュリティを重視します。また、コマンド ラインで指定された平文のパスワードを暗号化することもできます。

最も注目すべきオプションは

--crypt-md5 MD5 ダイジェスト アルゴリズムを使用して暗号化されたパスワードを生成します
--string STRING STRING 内の文字を使用してランダムなパスワードを生成します

前者は、/etc/passwd、/etc/cvspasswd などのエントリを自動的に生成するために使用できます。後者は、パスワードに句読点を追加するのに便利です (デフォルトでは、生成されたパスワードには英数字のみが含まれます)。

makepasswd はもともと、Linux Internet Support Cooperative IRC ネットワークを集中管理するために使用される mkircconf プログラムの一部でした。

于 2008-09-19T15:00:36.920 に答える
0

私は通常、パスワードセーフを使用してランダムなパスワードを生成します。パスワードセーフなしで実際に覚えておきたいパスワードの場合、通常、単語と数字を取り、文字をインターリーブします

だからあなたは言葉を取ります。

野球

と数字

24681357

そして、あなたはパスワードを取得します

b2a4s6e8b1a3l5l7

それはかなりランダムに見え、おそらく力ずくで攻撃するのは難しいでしょう. また、ほとんどの場合、入力するのは非常に簡単です。単語を入力し、カーソルを 2 番目の文字に戻し、数字を入力し、各文字の間に右カーソル キーを押します。これにより、入力が簡単になるだけでなく、キーロガーが実際に入力しているものを記録することも難しくなります.

于 2008-09-19T15:17:04.773 に答える
0
$ echo `cat /etc/dictionaries-common/words | sort --random-sort | head -n 4`
consented upsurges whitewall balderdash

非常に非効率的ですが、機能します。

于 2011-11-28T15:27:24.413 に答える
0

この Perl ワンライナーは時々役立ちます (rand安全ではありませんが、多くの場合問題にはなりません):

$ perl -E"say map { chr(33 + rand(126-33)) } 1..31

出力例:

ET<2:k|D:!z)nBPMv+yitM8x`r.(WwO
于 2009-01-11T01:03:03.297 に答える
-1

からシーケンスを選択します

md5 random_file
于 2008-09-19T12:37:26.517 に答える
-2
<?php
    print md5(rand(0, 99999));
?>
于 2008-09-19T12:16:56.643 に答える