Jestem w trakcie budowania małej aplikacji internetowej, która będzie zawierać około 10 informacji dla każdej włożonej osoby. Ze względu na ochronę danych większość tych informacji musi być zaszyfrowana.Wyszukiwanie wieloznaczne zaszyfrowanych danych w bazie danych MySQL?
Korzystanie z frameworka CodeIgniter i klasy szyfrowania CodeIgniter Mogę zakodować informacje po stronie aplikacji przed zapisaniem jej w bazie danych. Klasa szyfrowania CodeIgniter korzysta z funkcji PHP mcrypt wraz z szyfrem AES_256.
Problem polega na tym, że muszę zezwolić użytkownikom aplikacji na wyszukiwanie informacji przechowywanych za pomocą wyszukiwania wieloznacznego, prawdopodobnie również za pomocą interfejsu API w późniejszym terminie.
Każda instytucja natrafi na rozwiązanie podobnego problemu. Czytałem o MySQL AES_ENCRYPT i AES_DECRYPT, ale nadal wymagają przekazania klucza tam iz powrotem w postaci zwykłego tekstu, którego nie chcę robić.
Obecnie jestem na etapie, że jeśli chcę kontynuować na tej trasie, to odszyfrowywanie pełnego tabeli jest moim jedynym rozwiązaniem przy każdym wyszukiwaniu (oczywiście niedobrze).
+1 za lateralne myślenie, a użycie hash do zapewnienia wrażliwych słów kluczowych jest nadal utrzymywane z wyczuciem –
Cześć dzięki za odpowiedź, myślę, że rozumiem, co Pan proponuje, ale czy indeksowanie nadal nie będzie niewystarczające, gdy spróbujemy zrobić Wyszukiwanie "where_in" lub "like", na przykład: search% CHR% zwróci rekord zawierający słowo CHRIS. Może źle to czytam, jeśli tak, proszę, trochę się proszę. – user1530205
Prawidłowe wyszukiwania z użyciem symboli wieloznacznych nie działają z odwróconymi indeksami, ale działają bardzo dobrze w przypadku normalnych wyszukiwań. Jedynym sposobem wykonania wyszukiwania wieloznacznego jest odszyfrowanie całej rzeczy. –