Пример использования: находясь в сети, пользователь запускает приложение Ionic, которое запрашивает имя пользователя и пароль. Учетные данные проверяются на сервере, и пользователю разрешается войти в систему. Кроме того, зашифрованный пароль хранится локально (ipad). В автономном режиме вместо проверки на сервере проверьте учетные данные по зашифрованному паролю, хранящемуся локально.
Что работает Возможность использовать библиотеку crypto-js в Ionic для шифрования пароля.
var encryptedMessage = CryptoJS.AES.encrypt(password, secretkey);
Что не работает. Теперь я пытаюсь использовать библиотеку angular-local-storage, чтобы сохранить ее в локальном хранилище.
localStorageService.set('pwdkey', encryptedMessage );
Это дает мне ошибку ниже
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)
Тот же код отлично работает, если я передаю незашифрованную строку вместо зашифрованного пароля. Итак, это как-то связано с зашифрованными данными.
Как я могу хранить зашифрованные данные в локальном хранилище?