首页 文章

Ionic - 将加密值存储在本地存储中

提问于
浏览
1

Use case :在线时,用户启动提示输入用户名/密码的Ionic应用程序 . 根据服务器检查凭据,允许用户登录 . 此外,加密密码存储在本地(ipad) . 脱机时,不是检查服务器,而是根据本地存储的加密密码验证凭据 .

What's working 能够在Ionic中使用crypto-js库来加密密码 .

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

What's not working 现在,我正在尝试使用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)

如果我传递未加密的字符串而不是加密的密码,相同的代码工作正常 . 因此,它与加密数据有关 .

如何将加密数据存储在本地存储中?

1 回答

  • 1

    通过使用.toString()方法解决了该问题

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

    通过这种方式,我可以保存String,然后将其恢复并解密 .

相关问题