2016-11-03 4 views
0

私は、Microsoft SQL ServerのEXECストアドプロシージャの値を暗号化する方法は?

EXEC StoredProcedureName "Email", "pinNumber"; 

で、私のC#コードでクエリとしてこれを持って、私はpinNumberを取り、それを暗号化機能を持っています。

EXEC文でpinNumberを暗号化して、ソースコードにあるものと一致するようにするにはどうすればよいですか?

+0

ストアpinNumberはそうuは文句を言わないあなたはそれを再度暗号化する必要がないのはなぜ再び –

+1

をこれを行う必要があり、暗号化の方法として、データベースのですか?あなたは暗号化された価値を渡していませんか?それは一種のポイントです。 –

+0

https://msdn.microsoft.com/en-us/library/ms174415.aspx –

答えて

0

2つの解決策があります。必要に応じて1つを選択できます。

  • ドント暗号化pinNumber、単に格納さ 手順で平文として渡すとそれを比較します。

  • これをC#コードで暗号化してストアドプロシージャを渡したい場合は、表のpinNumberの値を 暗号化されたテキストとして保存してください。それは のセキュリティポイントからより良い解決策になります。

ストアドプロシージャで暗号化を行う場合、このソリューションには複数の欠点があります。

  • C#コードのpinNumberの不要な暗号化。
  • ストアドプロシージャの実行が遅い。
  • 安全性の低い(pinNumberがセキュリティで保護されたフィールドの場合)
+0

IDを暗号化する理由sqlは私のデータベースにexecを使ってデータを設定しているため、ピン番号がユーザーによって入力され、C#コードで暗号化されているかのようになります。 @vivek nuna – STUDENT

+0

imにexecを使用してデータベースを設定していますか?どのような違いがありますか? –

+0

私はそれを手動で入力し、私のC#のコードを通過しないことを意味するので、私が入力したピン番号は私の暗号化方法を通らない。 – STUDENT

関連する問題