Sha1、Sha0、md4、および md5 はすべて、ここ数年で安全ではないことが判明しています。問題は、攻撃者が同じ結果のハッシュを生成する 2 つの異なるメッセージを生成できる場合、これは衝突と呼ばれることです。これにより、PKI、パスワード管理、ファイルの整合性チェックなどで多くの問題が発生します。現在、sha1 は攻撃者の手の届く範囲にある 2^52 ビットのセキュリティしか提供していません。SHA-256 (sha2 ファミリーの最小メンバー) は 2^256 ビットを提供します。
すべてのプラットフォームがネイティブではありませんが、すべてのプラットフォームに SHA-256 実装が必要です。PHP では、mhash 拡張機能を使用する必要があります。一部のプラットフォームが安全なハッシュ関数を提供していないというのはかなり困惑しています。PHPの場合、私は彼らがセキュリティを気にしないという事実を知っています。
現在、SHA-2 に問題はなく、非常に大きな安全域があります。あなたが本当に偏執的であるなら、SHA-512を使うことができます。Sha-3 は 2012 年にリリースされます。 PASSWORDSのように sha-2 でパッチを適用し、可能な場合はSHA-3 に移行する必要がありますが、SHA-512 は非常に長い間有効です。