パスワードの暗号化と復号化[閉じる]

パスワードの暗号化と復号化[閉じる]

パスワードをtxtファイルにプレーンテキストとして保存しました。それでは、txtファイルからプレーンテキストを読み、それを暗号化して復号化するスクリプトを作成したいと思います。

答え1

パスワードを暗号化したままにできない場合は、パスワードを暗号化しても役に立ちません。一度復号化すると再び脆弱になります。

どんなに難しい暗号化と復号化方法でも、誰でも確認してコピーして貼り付けることができます。これは状況をより愚かにするだけです。

chmodRube Goldbergシステムよりも垣間見ることからよりよく保護されますが、少し作業するだけで保存されたパスワードを完全に使用しない可能性があるため、本当に良いことになります。理由:検索可能な保存されたパスワードはセキュリティ上の問題なので避けるべきです。これは悪い考えであり、避けることができるsudoだけsuでなく、ユーザーがそれを使用しないように特別に設計されていますsshscpsftp

パスワードの入力を求める場合は、パスワードは制限されていますが、操作を自動化したり、openssl

$ echo foobar | openssl enc -aes-128-cbc -a -salt -pass pass:asdffdsa
U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8=

$ echo U2FsdGVkX1/lXSnI4Uplc6DwDPPUQ/WjHULJoKypTO8= | openssl enc -aes-128-cbc -a -d -salt -pass pass:asdffdsa
foobar

またはこれを行うことができ、

$ touch pass.txt && echo foobar > pass.txt
$ openssl bf -a -salt -in pass.txt -out secret && rm -f pass.txt
enter bf-cbc encryption password:
Verifying - enter bf-cbc encryption password:

$ openssl bf -d -a -in secret -out pass.txt
enter bf-cbc decryption password:

$ cat pass.txt
foobar

答え2

ホイールを再発明したいようです。私の個人的な提案は、好きな方法でソートされたパスワードを含むテキストファイルを作成することです(各行には一意のユーザー名、パスワード、および所属するサイトがありますか?)。

gpg --full-gen-key4096ビットRSAキーを生成するには、「RSAとRSA」選択を使用します。あるいは、2048ビットも技術的にまだ安全に使用できます。 2048ビット以下に下がらないでください。

gpg -e passwords.txtファイルに含まれるパスワードを使用してファイルを暗号化します。

受信者の名前(自分)を入力してください。次に、完了したらpassword.txt.gpg存在することを確認します。次に、元の(暗号化されていない)passwords.txtを削除します。

今簡単な部分が出てきます。

ファイルのパスワードのいずれかが必要な場合は、次を実行します。 gpg -d passwords.txt.gpg

RSAキーを生成するときに選択したパスワードだけを覚えてください。暗号化されていない内容はstdout(使用中の端末)にダンプされます。レモン豆を簡単に絞ってみてください。

RSAの代替案は、次のキー生成方法を使用することです。

gpg --full-gen-key --expert

次に、オプション9 - 「ECCとECC」を選択します。アルゴリズムはBrainpool P-512を選択してください。キー生成はRSAよりはるかに高速で、キーサイズは小さく、それほど安全です。本当に個人的な好みです。私の答えの残りの部分(パスワードファイルの暗号化/復号化)はまだ適用されています。

または、次に進むことができます。スーパーライヤー簡単な方法は、KeePassXなどの事前作成されたソフトウェアを使用してパスワードを暗号化して保存することです。

関連情報