Вопрос по php, sqlite3, sql, sqlite, aes – Реализация шифрования SQL AES в SQLite с использованием PHP

1

Можно ли реализовать SQL AES_ENCRYPT / AES_DECRYPT в SQLite с использованием PHP? Например, у меня есть код PHP:

$SQL = "INSERT INTO parent (Request, Column1, Column2) VALUES ('$Request',AES_ENCRYPT('$Col1','$key'),AES_ENCRYPT('$Col2','$key'))";

и этот запрос работает в SQL, но возможно ли использовать этот же запрос в SQLite?

Нет, ты не можешь. NullUserException
Вы имели в виду "Этот запрос работает в MySQL, SQLite не делаетне имеет встроенных функций шифрования AES, так что выПридется отправлять зашифрованные данные. NullUserException
Да, этот запрос работает в MySQL. Таким образом я не могу использовать этот AES_ENCRYPT в SQLite? djpetrovic
Зашифруйте и расшифруйте данные в конце PHP. Сохраните зашифрованные данные в BLOB-объекте SQLite. NullUserException

Ваш Ответ

2   ответа
1

Ну минут 10 назад я закончил установкуPHP 7.2.2 на моем ноутбуке HP сUbuntu 16.04 LTS 64bit, Вам не нужно приобретать лицензию наSQLite Расширение шифрования (SEE). Поверх существующихPHP расширение я добавил несколькоC файлы сAES а такжеSQLite функции для en / расшифровки пейджера. Он работает хорошо, и теперь я попытаюсь заставить его работать, используя встроенную функциональность AES Intel i5 - чтобы получить максимум от самого оборудования. Теперь, чтобы открыть базу данных sqlite, я могу использовать следующее:

class MyDB extends SQLite3 {
      function __construct(){
        $this->open('sqlite3.db',SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, 'your_password_here');
      }
}

Шифрование всей базы данных, безусловно, является лучшим решением. Напишите мне сообщение для деталей. Я, вероятно, скоро опубликую это решение.

1

скажу у вас есть 2 варианта:

зашифруйте ваши значения на уровне PHP и сохраните их как BLOB или строки base64

зашифруйте всю базу данных, выполнив следующую команду (как любая другая обычная команда SQL):PRAGMA hexkey = '0x_your_key_in_hex_format» , Дон»не забудьте сделать то же самое, когда вы открываете базу данных для выполнения запросов SELECT.Вот это официальная документация.

Я сделал шифрование PHP AEE и он работает, но мне нужно использовать AES в качестве запроса SQL, поэтому спасибо за ответ, я попробую расширение шифрования SQLite и вернусь, если возникнут какие-либо проблемы. djpetrovic
Привет, mbarthelemy, у вас есть пример, как использовать эту PRAGMA в PHP для sqlite? djpetrovic

Похожие вопросы