0

現在、phpスクリプトで次のような暗号化を行っています。

select name from table;

while (php loop) {
   echo encrypt();
   echo $name;
}

これが私の暗号化機能です。

function encrypt($thisVal)
{
   select lower(hex(aes_encrypt(:what,:salt))) as encValue
}

使用している関数を使用せずに、または SQL 自体で暗号化を使用せずに暗号化部分を実行できる方法はありますか? aes_encrypt問題が発生した場合、人々は何が行われているのかを見ることができるので、SQL自体にその部分を入れたくありません。nameどうにかして暗号化して、SQL の結果を返すことはできますか。たぶん、MySql関数に保管してください。

また、で使用される keyString を格納する最も安全な方法は何ですかaes_encrypt。現在、それらをphpファイルに定数として保存しています。

4

1 に答える 1

1

使用している機能を使用せずに暗号化部分を実行できる方法はありますか

PHP で暗号化を行うことが悪い考えである、または安全でないと考える理由は何ですか? 一般的に言えば、暗号化は PHP 経由で行うのが安全です (たとえば、mcryptを使用)。

また、aes_encrypt で使用される keyString を格納する最も安全な方法は何ですか。現在、それらをphpファイルに定数として保存しています。

セキュリティを最大限に高めるには、暗号化キーをパブリック HTML の外 (またはドキュメント ルートの外) に保存します。定数ファイルは、ドキュメント ルートに存在しない限り問題ありません。また、サーバー上のどのユーザーがファイルにアクセスできるかを検討してください。「知る必要がある」ベースにする必要があります。

于 2013-06-05T11:23:22.180 に答える