Heim  >  Artikel  >  Backend-Entwicklung  >  Unter CentOS kompiliert PHP sqlite3 über SQLCipher, um die Datenbankverschlüsselung zu unterstützen.

Unter CentOS kompiliert PHP sqlite3 über SQLCipher, um die Datenbankverschlüsselung zu unterstützen.

WBOY
WBOYOriginal
2016-07-29 09:16:081538Durchsuche

Aufgrund der Projektanforderungen muss das auf der Serverseite generierte SQLite verschlüsselt werden. Das Server-Backend ist in PHP geschrieben und das Open-Source-SQLite3 hat eine Datenbankverschlüsselungsschnittstelle reserviert , aber es wurde nicht implementiert.Also habe ich SQLCipher im Internet gefunden, das die Verschlüsselungsfunktion implementiert, die nicht von sqlite3 implementiert wird, und die SQLite-Datenbankverschlüsselung unterstützen kann, indem es die sqlite3-Erweiterung von PHP neu kompiliert.

Informationen zu bestimmten Vorgängen finden Sie in den Schritten auf der offiziellen Website-Adresse: https://www.zetetic.net/sqlcipher/sqlcipher-for-php/

Der Betrieb auf der offiziellen Website, das System verwendet Ubuntu, Sie können die entsprechenden Befehle hier konvertieren, um sie unter CentOS zu verwenden. Befolgen Sie die Schritte auf der offiziellen Website, um erfolgreich zu kompilieren,

Nach erfolgreicher Kompilierung wird sqlite3.so generiert. Ersetzen Sie einfach sqlite3.so in der vorherigen Server-PHP-Erweiterung (am besten erstellen Sie vor dem Ersetzen ein Backup). ist abgeschlossen, starten Sie den Apache-Server neu,

Kommen Sie herunter und testen Sie, testen Sie den Code:

//Erstellen Sie eine test.sqlite-Datei, das Passwort ist 12345678, Parameter 6 bedeutet, öffnen Sie sie, wenn sie existiert, erstellen Sie sie, wenn Nicht. Für spezifische Informationen beziehen Sie sich bitte auf sqlite3.c in der Quelldatei für die entsprechende Anzeige

$db=new Sqlite3("test.sqlite",6 ,"12345678");

$db->exec("create table mytest (name varchar(200) )");

$db-> ;exec("insert in mytest (Name) Werte ('aaaa')");

$result = $db->query('SELECT * FROM mytest');

print_f($result);

?>

Wenn das Ergebnis ausgedruckt werden kann, bedeutet dies, dass sqlite3 im Grunde erfolgreich neu kompiliert wurde, Sie müssen jedoch noch überprüfen, ob die generierte Datenbank verschlüsselt wurde Versuchen Sie vorher, test.sqlite mit einigen Ihrer eigenen Tools zu öffnen. Zu diesem Zeitpunkt wird normalerweise eine Fehlermeldung angezeigt. Dies bedeutet, dass SQLite erfolgreich verschlüsselt wurde Übrigens gibt es auf der offiziellen Website auch Schritte zur Unterstützung von Android und IOS, die auf der offiziellen Website eingesehen werden können

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne dessen Genehmigung verwendet werden.

Das Obige stellt vor, wie PHP unter CentOS sqlite3 über SQLCipher kompiliert, um die Datenbankverschlüsselung zu unterstützen, einschließlich einiger Aspekte des Inhalts. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn