当前位置: 首页 > 面试题库 >

使用Angularjs加密客户端本地存储数据

郎同化
2023-03-14
问题内容

我有一个客户端数据存储在localStorage中。出于安全原因,我要加密数据。有什么方法可以使用Angularjs加密/解密客户端数据(而非服务器数据)?

$scope.accountObj = {
        isErrorMsg:false,
        isReadonly:false,
        createAccountErr:false        
    };

问题答案:

您可以使用cryptojs库对数据进行加密/解密。首先,您应该生成一些密钥以用于加密过程:

 var secretKey = 'your-secret-key';

然后,您需要存储和声明数据的方法:

store : function (key, value) {
    var encryptedData = CryptoJS.AES.encrypt(angular.toJson(value), secretKey).toString();
    window.localStorage.setItem(key, encryptedData);
},

get : function (key) {
    var encryptedData = window.localStorage.getItem(key);

    if (!_.isNull(encryptedData))
        return angular.fromJson(CryptoJS.AES.decrypt(encryptedValue, secretKey).toString(CryptoJS.enc.Utf8));

    return null;
}

这里唯一的问题是秘密密钥存储在客户端,这是这种加密的一种破坏逻辑。



 类似资料:
  • 问题内容: 目前,我正在使用一项服务来执行操作,即从服务器检索数据,然后将数据存储在服务器本身上。 取而代之的是,我想将数据放入本地存储中,而不是将其存储在服务器上。我该怎么做呢? 问题答案: 这是我存储和检索到本地存储的代码的一部分。我使用广播事件来保存和恢复模型中的值。

  • 我使用。NET Core2.0和ASP.NET Core2.0进行应用程序开发。“测试”应用程序是一个。NET核心控制台应用程序。我正在编写的核心代码是一个类库。一旦适当的测试。我选择这样做是因为我暂时不会使用它(它正在替换旧的ASPNET代码)。 无论如何,由于我必须处理各种服务的大量API密钥,所以我决定使用Microsoft Azure Key Vault来存储密钥。我有这一切设置,并理解这

  • 客户端存储

  • 我现在是弄一个小程序,用户会添加非常敏感的安全信息,目前是用户端添加敏感数据时使用他的union_id和固定的key作为加解密密钥,然后再AES加密后再提交到服务端,然后下次请求服务器返回加密数据后解密再使用。 这里存在一个问题,如果有黑客拿到了我的数据库,和我的算法,然后就可以解密出用户的敏感数据。因为用户union_id是会记录到服务端数据库,客户端固定的key也是可以扒到。 有什么方案可以做

  • 我有一个欧盟存储帐户(v1)和一个欧盟密钥库。我在保存和检索blob时进行客户端加密。加密/解密在这种情况下工作。 null 多谢了。

  • 问题内容: 我有一个存储大量客户端数据的问题,我无法确定哪种方法更好。现在,我正在使用AngularJS的cacheFactory,它可以正常工作,但是所有数据都会通过新会话重新加载。值得使用本地存储代替吗? 问题答案: 如果您的目标是存储客户端数据和持久性数据,则不能使用$ cacheFactory ,它只缓存当前会话的数据。 一种解决方案是使用新的本地存储API。这个很棒的Angular模块为