【问题标题】:Ionic - Store encrypted values in Local StorageIonic - 在本地存储中存储加密值
【发布时间】:2016-08-05 16:52:07
【问题描述】:

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

什么有效 能够在 Ionic 中使用 crypto-js 库来加密密码。

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)

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

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

【问题讨论】:

    标签: encryption ionic-framework cryptojs angular-local-storage


    【解决方案1】:

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

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

    通过这种方式,我能够保存字符串,然后将其取回并解密。

    【讨论】:

    • 谢谢!对我有用,这让我发疯了
    猜你喜欢
    • 2018-07-28
    • 2014-10-22
    • 1970-01-01
    • 2016-08-31
    • 2018-04-23
    • 2014-03-25
    • 2020-01-23
    • 1970-01-01
    • 2018-10-22
    相关资源
    最近更新 更多