0

パスワード エンコーディング スキームを使用HMACSHA256.ComputeHashして 1 つのサーバーでパスワード ハッシュを生成し、後で別のサーバーに移行する必要がある場合、ハッシュは同じものをエンコードしますか? 設定が暗号化操作に関係しているのを見た記憶がありmachineKeyますが、完全にはわかりません。

4

2 に答える 2

3

同じものをエンコードするかどうかは、HMACSHA256 オブジェクトの作成方法によって異なります。インスタンス化したキーを使用してハッシュを実行するか、キーを指定しない場合はランダムなキーを生成します。同じキーを渡す限り、同じハッシュが生成されます。

于 2011-08-20T01:55:16.597 に答える
0

HMACは、シークレットと認証するデータからハッシュを計算します。2台のサーバーが同じHMACを計算するには、シークレットを共有する必要があります。これにより、サーバーはそのシークレットではなくなる可能性があります。古いパスワードを確認できるようにするには、シークレットを修正するか、変更できる場合は保存されているパスワードに沿って何らかの方法で参照する必要があり、事実上ソルトになります。

パスワードストレージ設定でHMACを使用するのはかなり奇妙で、適切なパスワード導出関数ではなく(速度が速すぎ、メモリを十分に消費しません)、シークレットは修正する必要があるため、あまり価値がありません(適切なHMACの使用法とは異なります)。秘密は、セッションのために通信する当事者によって合意され、その後忘れられます)。

于 2011-08-23T09:33:00.930 に答える