Sql Server 2005 では、SHA-256 アルゴリズムによってハッシュされたパスワードを格納するためにどのデータ型を使用する必要がありますか?
データはアプリケーションによってハッシュされ、データベースに渡されます
Sql Server 2005 では、SHA-256 アルゴリズムによってハッシュされたパスワードを格納するためにどのデータ型を使用する必要がありますか?
データはアプリケーションによってハッシュされ、データベースに渡されます
この場合、ハッシュ コードを 16 進文字列に変換することを好みます。この場合、varchar(64) でうまくいきます0x
。このようにして、手動で比較したり、他の場所からコピー/貼り付けする必要がある値を (再) 設定したりするのがはるかに簡単になります。たとえば、admin-PW を紛失し、SQL 経由でリセットしたい場合など...
varbinary(32) またはバイナリ (32)。
SHA256Managed クラスの "Hash" 属性はバイト配列で、HashSize は 256 ビットなので、binary(32) が最も簡単だと思います。
おそらく、ToBase64Transform を使用して varchar フィールドに入れることもできます。私は Base64 アルゴリズムに完全に精通しているわけではありませんが、Base 64 で 256 ビットの数値を表すには、おそらく少なくとも 43 文字が必要になるようです。IIRC Base64 はいくつかのパディング文字を使用するため、おそらく安全のために varchar(50) 。
32 バイトの値 (256 ビット) を生成する必要があるため、binary(32) が機能するはずです。
SHA-256 には 256 ビットの出力があります
256 ビット = 32 バイト
varbinary(32) を試してください