4

パスワードで保護された zip ファイルを操作する perl スクリプトを作成しています。したがって、これを行うにはパスワードを保存して取得する必要があります。パスワードを保存するための 3 つのオプションがあります。

  1. プレーンテキストで保存します。あなたが飛び込む前に、私はこのオプションをほとんど除外しました.
  2. 簡単なパスワードマンガーを使用して、カジュアル/偶発的なアクセス (DBA によるものであっても) を防ぎます。
  3. Blowfish や AES などの適切な暗号化/復号化ライブラリを使用します。

私が選んだものは、Windows の下で Perl で動作し、使いやすいものでなければなりません。

助言がありますか?

4

4 に答える 4

4

Windows で動作する Perl 暗号化パッケージがいくつかあります。PPM は ActivePerl パッケージ マネージャーでダウンロードできます。

これらのモジュールの純粋な Perl バージョンを使用することもできます (_PP で終わる名前を探してください)。

CPAN でこれらのモジュールを見つけました:

于 2009-01-20T01:49:21.910 に答える
3

アプローチ 3 の主な問題は、パスワードを含むファイルのキーをどこに保存するかということです。アプローチ 2 に Base64 を使用できますが、「復号化」は非常に簡単です。

于 2009-01-19T23:32:16.960 に答える
1

ここで質問する必要はありません。十分に強力な暗号化スキームを使用する必要があります。あなたは機密データを預けられており、それを保護するために可能な限りのことをしなければなりません。

Windows を使用している場合は、DPAPI を利用して AESkey を暗号化し、レジストリに保存できます。Perl には、Win32 ライブラリとやり取りするためのモジュールがあります。

最良の暗号化は主観的なものですが、2009 年 1 月現在、AES 128 はデータを暗号化するのに十分強力です。

ユーザーが何をしているのかを完全に理解していなければ、最高の暗号化スキームでさえ無効になる可能性があります。

于 2009-01-19T23:47:55.353 に答える
1

明らかに、あなたは正しい #1 が出ています。

#2も本質的に同じ理由でアウトです。安全ではありません。

#3については、これも出ていることをお勧めします. パスワードを復号化すると、比較のために脆弱な状態になります。ただし、これを行う場合は、 Crypt::CBC WITH Crypt::Blowfish for Cipher Block Chainingを使用することをお勧めします。

[推奨] #4: #3 のように取得、復号化、比較のためにパスワードを保存するのではなく。Authen::Passphraseを使用すると、元のパスワードを復号化/デコードせずに入力したパスワードを比較できる、かなり完全で柔軟な Perl モジュールを使用できます。関連項目Perl CGI プログラムでパスワードを暗号化および復号化するにはどうすればよいですか?

于 2014-01-30T03:41:20.943 に答える