2013-03-27 3 views
5

Наша компания должна сначала скрестить конфиденциальные данные, прежде чем отправлять их нам для разработки PHP. Они спрашивают нас, что лучше всего подходит для такого рода ситуаций.Как зашифровать существующую базу данных MySQL?

Требование состоит в том, чтобы данные были дешифрованы.

Есть ли бесплатный/коммерческий инструмент для этого, или это может быть сделано только с помощью команды PHP или Linux?

+1

Передача данных через SSH или SSL или шифрование с помощью PGP и отправка их по любому соединению. –

+0

Я хотел бы зашифровать определенные поля только в некоторых таблицах с возможностью их расшифровки. Благодарю. Я буду смотреть на шифрование PGP. – marknt15

+0

Проще шифровать всю вещь, предполагая, что вы передаете базу данных из одного места в другое. И ** конечно ** у вас будет возможность расшифровать его, если вы этого не сделали, то это не шифрование, это разрушение. –

ответ

6

В MySQL уже включены обратимые encryption functions, такие как AES_ENCRYPT().

Вы можете зашифровать конфиденциальные данные на основе столбец за столбцом следующим образом:

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

Это работает, по крайней мере для строк данных.

+0

Мысль о шифровании с использованием AES еще с низкой силой пароля забавна, но +1 в любом случае :) – Patashu

+4

@Patashu, это был просто пример, я не предлагаю использовать пароль, который буквально «пароль». Аналогично, я полагаю, что таблица буквально не названа 'SomeTable'. :-) –

+1

Спасибо. Оно работает. Им придется вручную сделать это для своих конфиденциальных данных, прежде чем отправлять нам зашифрованный. Они не должны шифровать идентификаторы, которые будут использоваться для подключения данных, хотя :) – marknt15

0

Мне кажется, что на самом деле не нужно шифровать данные как таковые. Скорее всего, нужно будет замаскировать данные, например, например. изменение значений в таблицах с реального имени, адреса, номера телефона на новое фиктивное значение для целей разработки и тестирования приложений. http://en.wikipedia.org/wiki/Data_masking

Смежные вопросы