15

Sql Server 2005 では、SHA-256 アルゴリズムによってハッシュされたパスワードを格納するためにどのデータ型を使用する必要がありますか?

データはアプリケーションによってハッシュされ、データベースに渡されます

4

5 に答える 5

13

この場合、ハッシュ コードを 16 進文字列に変換することを好みます。この場合、varchar(64) でうまくいきます0x。このようにして、手動で比較したり、他の場所からコピー/貼り付けする必要がある値を (再) 設定したりするのがはるかに簡単になります。たとえば、admin-PW を紛失し、SQL 経由でリセットしたい場合など...

于 2008-10-30T23:49:35.850 に答える
4

varbinary(32) またはバイナリ (32)。

于 2008-10-30T23:41:52.450 に答える
4

SHA256Managed クラスの "Hash" 属性はバイト配列で、HashSize は 256 ビットなので、binary(32) が最も簡単だと思います。

おそらく、ToBase64Transform を使用して varchar フィールドに入れることもできます。私は Base64 アルゴリズムに完全に精通しているわけではありませんが、Base 64 で 256 ビットの数値を表すには、おそらく少なくとも 43 文字が必要になるようです。IIRC Base64 はいくつかのパディング文字を使用するため、おそらく安全のために varchar(50) 。

于 2008-10-30T23:47:10.053 に答える
2

32 バイトの値 (256 ビット) を生成する必要があるため、binary(32) が機能するはずです。

于 2008-10-30T23:41:13.200 に答える
1

SHA-256 には 256 ビットの出力があります

256 ビット = 32 バイト

varbinary(32) を試してください

于 2008-10-30T23:49:04.807 に答える