2013-03-27 10 views
5

当社は、機密データをPHP開発のために送信する前に、機密データをまずスクランブルする必要があります。彼らは、このような状況に最適なアプローチが何であるかを尋ねています。既存のMySQLデータベースを暗号化するには?

データを復号化する必要があります。

これを行うためのフリー/商用ツールはありますか?または、PHPまたはLinuxコマンドでのみ実行できますか?

+1

SSHまたはSSLでデータを転送するか、PGPで暗号化して任意の接続で送信します。 –

+0

いくつかのテーブルの特定のフィールドだけを暗号化して、それを解読する機能があります。ありがとう。私はPGPの暗号化について検討します。 – marknt15

+0

データベース全体を暗号化する方が簡単です。データベースをある場所から別の場所に移動していると仮定します。 **もちろん、**あなたはそれを解読する能力を持っています。もしそうでなければ、それは暗号化ではなく、破壊です。 –

答えて

6

MySQLにはすでにAES_ENCRYPT()などのリバーシブルencryption functionsが含まれています。

あなたは次のように列ごとに機密データをスクランブルすることができます

UPDATE SomeTable SET sensitive_column = AES_ENCRYPT(sensitive_column, 'password'); 

これは、文字列データのために、少なくとも動作します。

+0

パスワードの微妙な強さでAESを使用して暗号化するという考えは面白いですが、とにかく+1です: – Patashu

+4

@Patashu、それは単なる例でしたが、文字通り「パスワード」というパスワードを使用することは勧めません。同様に、テーブルは文字通り 'SomeTable'という名前ではないと仮定します。 :-) –

+1

ありがとうございます。できます。私たちに暗号化されたデータを送る前に、彼らは機密データに対してこれを手動で行う必要があります。彼らはデータを接続するために使用されるIDを暗号化すべきではありません:) – marknt15

0

データ自体を実際に暗号化したくないという要件に基づいているように見えます。 1つは、例えば、例えば、表の値を実名、住所、電話番号から新しい架空の値に変更して、開発とアプリケーションのテストを行います。 http://en.wikipedia.org/wiki/Data_masking

関連する問題