遅いハッシュ関数を探しているという理由で、多くの人が質問者を非難しているようです。実際、他のすべての側面が等しい場合、低速のハッシュ関数は高速のハッシュ関数よりも安全です。これは、ハッシュ関数が遅いほど、レインボー テーブルの生成が遅くなり、パスワードに対する総当り攻撃や辞書攻撃が遅くなるためです。
http://www.securityfocus.com/blogs/262のThomas Ptacek から、このCoding Horror 記事で参照されているように:
問題は、MD5 が高速であることです。SHA1 や SHA256 などの最新の競合他社も同様です。ハッシュはほとんどすべての暗号システムの構成要素であり、通常はパケットごとまたはメッセージごとに要求実行されるため、速度は最新の安全なハッシュの設計目標です。
速度は、パスワード ハッシュ関数で望ましくないものです。
最新のパスワード スキームは、インクリメンタル パスワード クラッカーによって攻撃されます。
インクリメンタル クラッカーは、クラックされた可能性のあるすべてのパスワードを事前に計算するわけではありません。各パスワード ハッシュを個別に検討し、PHP ログイン ページと同じ方法で、パスワード ハッシュ関数を介して辞書をフィードします。Ophcrack のようなレインボー テーブル クラッカーは、スペースを使用してパスワードを攻撃します。John the Ripper、Crack、LC5 などのインクリメンタル クラッカーは、時間 (統計と計算) を処理します。
パスワード攻撃ゲームは、パスワード X をクラックするのにかかった時間でスコアが付けられます。レインボー テーブルでは、必要なテーブルのサイズと検索速度によって時間は異なります。インクリメンタル クラッカーの場合、時間はパスワード ハッシュ関数をどれだけ速く実行できるかによって異なります。
パスワード ハッシュ関数を最適化すればするほど、パスワード ハッシュ関数が速くなり、スキームが弱くなります。MD5 と SHA1 は、DES のような従来のブロック暗号でさえ、高速になるように設計されています。MD5、SHA1、および DES は脆弱なパスワード ハッシュです。最新の CPU では、DES や MD5 などの未加工の暗号化ビルディング ブロックをビットスライス、ベクトル化、および並列化して、パスワード検索を超高速にすることができます。ゲームオーバー FPGA の実装にかかる費用はわずか数百ドルです。
PHP MD5 ドキュメントに関する一部のコメントでは、速度の優先についても議論されています。
あなたの質問に答えるには、BCrypt が適しているようです。ただし、ASP Classic の実装は見つかりませんでした。それが本当なら、SHA512 のような通常のハッシュ関数に固執します。