1

ユースケース:オンラインでは、ユーザーはユーザー名/パスワードの入力を要求するIonicアプリを起動します。クレデンシャルはサーバに対してチェックされ、ユーザはログインが許可されます。また、暗号化されたパスワードはローカルに保存されます(ipad)。 オフラインの場合は、サーバーをチェックする代わりに、ローカルに保存されている暗号化されたパスワードに対して資格情報を検証します。Ionic - ローカルストレージに暗号化された値を格納する

パスワードを暗号化するためにIonicでcrypto-jsライブラリを使用することができます。

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

を働いていない何を、私は、ローカルストレージに保存し、使用に角度のローカル・ストレージ・ライブラリをしようとしています。

localStorageService.set('pwdkey', encryptedMessage); 

それは私が代わりに暗号化されたパスワードのunecrypted文字列を渡す場合、同じコードが正常に動作します

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) 

私に以下のエラーが発生します。だから、それは暗号化されたデータと関係があります。

ローカルストレージに暗号化データを保存するにはどうすればよいですか?

答えて

1

問題が.toString()メソッド

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

私は文字列を保存して、それを取り戻すし、それを解読することができた。この方法を使用することによって解決しました。

関連する問題