SHA1またはSHA256を使用しないでください 、他のほとんどの人が示唆しているように。 MD5は絶対に使用しないでください 。
SHA1 / 256とMD5はどちらも、ファイルと文字列(および必要に応じて他のデータ型)のチェックサムを作成するように設計されています。このため、チェックサムをすばやく生成できるように、可能な限り高速になるように設計されています。
この高速な速度により、パスワードのブルートフォース攻撃がはるかに簡単になります。適切に作成されたプログラムでは、毎秒数千のハッシュを簡単に生成できるためです。
代わりに、パスワード用に特別に設計された低速のアルゴリズムを使用してください。これらは、生成に少し時間がかかるように設計されていますが、ブルートフォース攻撃がはるかに困難になるという利点があります。このため、パスワードははるかに安全になります。
個々のパスワードを一度に1つずつ暗号化することだけを検討している場合は、パフォーマンスが大幅に低下することはありません。これは、パスワードの保存と確認の通常の実装です。本当の違いがあるのはバルクだけです。
私は個人的にbcryptが好きです。 Googleですばやく検索すると一致する可能性のあるものがいくつか見つかったため、Perlバージョンが利用可能であるはずです。