用例:联机时,用户启动提示输入用户名/密码的Ionic应用程序。根据服务器检查凭据,允许用户登录。此外,加密密码是本地存储的(ipad)。脱机时,不要对服务器进行检查,而是根据本地存储的加密密码验证凭据。
正在工作的能够使用Ionic的密码-js库来加密密码。
var encryptedMessage = CryptoJS.AES.encrypt(password, secretkey);现在不工作的,我正在尝试使用角本地存储库将它保存在本地存储中。
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)如果我传递一个未加密的字符串而不是加密的密码,相同的代码就能正常工作。所以,这与加密的数据有关。
如何将加密数据存储在本地存储中?
发布于 2016-08-09 15:58:31
使用.toString()方法解决了这个问题
CryptoJS.AES.encrypt(password, secretkey).toString()这样,我就可以保存字符串,然后把它拿回来并解密。
https://stackoverflow.com/questions/38794248
复制相似问题