Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wildcard-Suche nach verschlüsselten Daten in einer MySQL-Datenbank?

Nun, Sie können nicht in entschlüsseltem Text suchen, ohne ihn vorher zu entschlüsseln, das stimmt.

Dies bedeutet jedoch nicht, dass es keine Möglichkeiten gibt, dies zu umgehen. Beispielsweise könnten Sie einen invertierter Index erstellen Ihrer Daten und Hash (sha1, md5, crc32, wählen Sie einen aus) die für die Suche verwendeten Schlüssel. Alles, was Sie dann tun müssen, ist, die Suchbegriffe, die Sie verwenden, zu hashen, sie im Index nachzuschlagen und jeden passenden Datensatz abzurufen, der nur ein kleiner Teil der Tabelle statt des Ganzen ist.

Indem Sie die Daten hashen (verwenden Sie ein Salt!), vermeiden Sie eine unsichere Speicherung der Daten, während Sie die Daten trotzdem durchsuchen können, da Sie einen Index dafür erstellt haben. Keine Entschlüsselung erforderlich, bis Sie wirklich sicher sind, welche Dokumente übereinstimmen.