Я хочу зашифровать некоторые поля в таблице MySQL и наткнулся на CipherSweet в другом посте здесь. Он выглядит превосходно, я установил его и запустил двигатель, но мне кажется, что я не могу выбраться с подъездной дорожки ... Я не эксперт PHP, и это, возможно, часть проблемы - инструкции кажутся предполагать гораздо больше знаний, чем кажется у меня.
У меня есть форма, которая передает данные (имя, адрес электронной почты и т.д. c.), Которые я хочу зашифровать - мой код в этом отношении работает, и я превращаю их в переменные, которые я ранее использовал для записи успешно в базу данных.
$UserName = test_input($_POST["UserName"]);
$FirstName = test_input($_POST["FirstName"]);
$LastName = test_input($_POST["LastName"]);
$email = test_input($_POST["email"]);
У меня вопрос, как мне затем зашифровать все в строке, кроме UserName? Я использую их пример настройки, но на данном этапе не требую никаких слепых индексов.
use ParagonIE\CipherSweet\Backend\ModernCrypto;
use ParagonIE\CipherSweet\CipherSweet;
use ParagonIE\CipherSweet\KeyProvider\StringProvider;
use ParagonIE\CipherSweet\EncryptedField;
use ParagonIE\CipherSweet\EncryptedRow;
$provider = new StringProvider(
// Example key, chosen randomly, hex-encoded:
'yaddayadda....'
);
$engine = new CipherSweet($provider);
$row = (new EncryptedRow($engine, 'contacts'))
->addTextField('UserName')
->addTextField('FirstName')
->addTextField('LastName')
->addTextField('email');
$prepared = $row->prepareRowForStorage([
'UserName' => 'User1',
'FirstName' => 'UserFirstName',
'LastName' => 'UserLastName',
'Email' => 'UserEmail'
]);
var_dump($prepared);
На этом этапе у меня все заработало - я предполагаю, что когда var dump записывал на экран то, что выглядело как зашифрованные поля. Однако я не знаю, как затем получить данные в базе данных с помощью оператора SQL. Как «выглядят» данные? Есть ли «контакты» после EncryptedRow, где я помещаю имя своей таблицы? Что на самом деле делает prepareRowForStorage?
Как я уже сказал, CipherSweet выглядит потрясающе, но я просто не могу соединить все точки!
спасибо
Calum