Ich benutze elocryptfive für die Verschlüsselung einiger Felder in der Datenbank - kurz gesagt ist es eine PHP-Eigenschaft, die verschlüsselte Attribute verschlüsselt, bevor sie in die Datenbank geschrieben und entschlüsselt werden zeigt sie dem Benutzer (mit getAttribute
und andere solche Methoden).Datenverschlüsselung funktioniert nicht mehr im Eloquent-Modell nach dem Upgrade auf Laravel 5.5
Einfachere Version davon kann in this laracasts discussion gefunden werden.
Es gab keine Probleme bei der Verwendung von Laravel-Versionen vor 5.5. Nach dem Upgrade der Seite auf laravel 5.5 habe ich festgestellt, dass Werte, die verschlüsselt werden sollten, stattdessen im Klartext dargestellt wurden.
Ich habe Problem in Paket Github-Konto eingereicht, um Hilfe zu bitten. In der Zwischenzeit habe ich einige Dinge ausprobiert:
- hinzugefügt elocryptfive Paket in frisch installierten Laravel 5.2 und 5.4 - Verschlüsselung gearbeitet richtig
- tat das gleiche auf Lager Laravel 5.5 - die Werte nur nach dem ersten verschlüsselt wurden speichern, und nach jeder nachfolgenden Aktualisierung entschlüsselt gespeichert
- ich habe nichts gefunden in Foren im Zusammenhang/laracasts noch
es scheint, dass es zu einigen Änderungen zwischen 5.4 und 5.5 zusammenhängen könnte, habe ich bereits versucht, einige vergleichen Klassen in Eloquent
Namensraum gab aber auf.