1

そこで、DB の暗号化をセットアップする方法について、http://www.kodyaz.com/articles/sql-server-2005-database-encryption-step-by-step.aspxのこのガイドに従いました。その辺はすべてうまくいった。

暗号化されたデータの一部を表示できるようにしようとしています。暗号化されていないデータを呼び出すことはできますが、対称キーを使用して暗号化されたデータを復号化し、ページに表示する方法がわかりません。

当初、ストアド プロシージャを使用して値を取得する必要があると考えていましたが、実装方法が完全にはわかりませんでした。

echo "This is the database userId field: " . $row->userId . "<p>";
echo "This is the database email field: " . $row->email . "<p>";
echo "This is the database encryptedpassword2 field: " . $row->encrypteddata . "<p>";

これは私がデータを呼び出す方法ですが、暗号化されたデータフィールドをキーを介して渡して表示する方法がわかりません。現時点では、ランダムな文字のみが表示されます。

私はSQL暗号化に少し慣れていないので、自分自身をある程度うまく説明できたことを願っています.

ありがとう

4

1 に答える 1

1

一般的に、パスワードフィールドを復号化する必要はありません。ユーザーの入力をハッシュし、それを以前にハッシュされたパスワードと比較して、ハッシュが一致するかどうかを確認するだけです。ハッシュと暗号化の違いを理解するために少し時間を取ってください。

DBから暗号化された情報(できればパスワードではない)を本当に取得したい場合は、PHPに返される前に(リンクされた記事DecryptByKeyに記載されているように)SQLステートメントを呼び出す必要があります。

于 2012-07-17T17:46:39.923 に答える