SQL Server データベースに保存するハッシュ化されたパスワードがあります
保存する前に base 64 文字列に変換するか、または として保存するかは不明varbinary
です。
base 64 の場合、C# での処理は簡単ですが、そのアプローチに欠点があるかどうかはわかりません。
SQL Server データベースに保存するハッシュ化されたパスワードがあります
保存する前に base 64 文字列に変換するか、または として保存するかは不明varbinary
です。
base 64 の場合、C# での処理は簡単ですが、そのアプローチに欠点があるかどうかはわかりません。
Base 64をセキュリティのレイヤーを追加するものと見なさない限り、base 64はバイナリデータの表現が異なるだけなので、セキュリティ上の欠点はありません。Base 64は誰でも簡単にデコードできるため(キーを使用しないため)、セキュリティレイヤーではなく、単なる異なる形式です。Base 64を使用して機密データを難読化することに起因する多くの脆弱性を確認したため、これを強調します。データは攻撃者によって簡単に回復されました(この場合は私です。心配しないでください。これはセキュリティクラスの学界にありました;-))。すべての機密データは、サーバーからの秘密鍵で暗号化する必要があります。
私はBase64を自分で使用することを好みます。これは、文字列として簡単に処理できるためです。暗号化した後は、常にバイナリデータをBase64に変換します。
explunitがコメントで述べたように、それはあなたのアルゴリズムを少し遅くします。ただし、Base 64への変換にサイクルを費やすことによるアルゴリズムの速度低下は、攻撃者にとってブルートフォース暗号攻撃の実行可能性を低下させるため、実際にはセキュリティにとってプラスになります。