2

私はパスワードにPBKDF2ハッシュアルゴリズムを使用しています。これは、次のように、ユーザーが指定したパスワードからバイト配列を生成します。

var DeriveBytes = new Rfc2898DeriveBytes(_Password, 20);
byte[] _Salt = DeriveBytes.Salt;
byte[] _Key = DeriveBytes.GetBytes(20);  // derive a 20-byte key

これらをデータベースに保存したいのですが、使用するデータ型がわかりません。私が見ることができることから、バイト配列に使用されるデータ型はなく、それを文字列に変換してで保存することはできないと確信していますvarcharか、それともできますか?

4

2 に答える 2

7

binaryそして、varbinaryバイト配列を格納するようにほとんど明示的に設計されています。

MSDNリンク

于 2012-11-10T16:49:49.757 に答える
0

SQLテーブルの列をbinaryまたはとして定義し、これを伝達するためにパラメーターをvarbinary必要とするオーバーロードの1つを使用して、adoコマンドオブジェクトのパラメータープロパティに追加しSqlDbTypeます。これはバイナリ値です。

オプション2:

SQLテーブルの列をとして定義し、nvarchar(max)バイト配列をBase64文字列に変換しますSystem.Convert.ToBase64String(mybytes)。データベースから取得するときは、

mybytes = System.Convert.FromBase64String((byte[])dr[i]);
于 2013-08-08T14:51:54.850 に答える