Sto costruendo un'app SaaS in PHP che coinvolgerà gli utenti che memorizzano i nomi e gli indirizzi dei loro clienti nel nostro database. Ho intenzione di crittografare i dati utilizzando la libreria defuse / php-encryption che consente ai singoli utenti di avere la propria chiave di crittografia protetta da la loro password di accesso. La mia domanda è: se faccio questo, come gestisco il caso in cui l'utente ha dimenticato la sua password? Se la password viene dimenticata, la chiave viene successivamente persa e non ho modo di recuperarla. Ho pensato di poter memorizzare la chiave due volte, una protetta con la password dell'utente e la seconda protetta da una password amministratore, con l'utente che deve telefonare per resettare il proprio account. Tuttavia, da quello che posso vedere, la libreria di crittografia php non lo consente.
Vorrei evitare di avere una chiave globale in quanto dovrebbe essere memorizzata da qualche parte nel codice sorgente o nel db.