1

Anwendungsfall: Wenn online, startet Benutzer die Ionic App, die zur Eingabe von Benutzername/Passwort auffordert. Anmeldeinformationen werden gegen den Server geprüft und der Benutzer kann sich anmelden. Das verschlüsselte Passwort wird auch lokal gespeichert (ipad). Wenn Sie offline sind, überprüfen Sie die Anmeldeinformationen anhand des lokal gespeicherten verschlüsselten Kennworts, anstatt sie mit dem Server zu überprüfen.Ionic - Speichern Sie verschlüsselte Werte im lokalen Speicher

Was funktioniert Kann Crypto-js-Bibliothek in Ionic verwenden, um das Kennwort zu verschlüsseln.

var encryptedMessage = CryptoJS.AES.encrypt(password, secretkey); 

Was ist nicht Jetzt arbeitet, Ich versuche, die Verwendung der Winkel-local-Speicherbibliothek, um es in lokalen Speicher zu speichern.

localStorageService.set('pwdkey', encryptedMessage); 

Es gibt mir die folgenden Fehler

TypeError: Converting circular structure to JSON 
    at Object.stringify (native) 
    at toJson (http://localhost:8100/lib/ionic/js/ionic.bundle.js:14637:15) 
    at Object.addToLocalStorage (http://localhost:8100/lib/angular-local-storage/dist/angular-local-storage.js:158:19) 
    at encryptAndStore (http://localhost:8100/js/controllers.js:550:27) 

Der gleiche Code funktioniert gut, wenn ich eine unecrypted Zeichenfolge anstelle des verschlüsselten Passwort übergeben. Es hat also etwas mit den verschlüsselten Daten zu tun.

Wie kann ich verschlüsselte Daten im lokalen Speicher speichern?

Antwort

1

Das Problem wurde durch die Verwendung der .toString() -Methode

CryptoJS.AES.encrypt(password, secretkey).toString() 

Auf diese Weise kann ich löst das String speichern und es dann zurück und es entschlüsseln.

Verwandte Themen