首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在角6中加密和解密

如何在角6中加密和解密
EN

Stack Overflow用户
提问于 2018-11-26 10:11:22
回答 7查看 83.8K关注 0票数 18

登录响应

代码语言:javascript
复制
{
  code: 200,
  id: 4,
  msg: "success",
  user: "Sourav"
}

我有一个问题,我想要将id和用户存储在本地存储中作为加密的format.How,我可以使用角6吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2018-11-26 10:19:10

在我们的一个项目中,我们使用了“密码-js”库。http://github.com/brix/crypto-js

代码语言:javascript
复制
import * as CryptoJS from 'crypto-js';

encryptData(data) {

    try {
      return CryptoJS.AES.encrypt(JSON.stringify(data), this.encryptSecretKey).toString();
    } catch (e) {
      console.log(e);
    }
  }

  decryptData(data) {

    try {
      const bytes = CryptoJS.AES.decrypt(data, this.encryptSecretKey);
      if (bytes.toString()) {
        return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));
      }
      return data;
    } catch (e) {
      console.log(e);
    }
  }
票数 30
EN

Stack Overflow用户

发布于 2018-11-26 10:14:45

客户端加密的技术解决方案可能是使用一些第三方库。引用这样的库会导致固执己见的答案,这在这里是不太可取的。

但是,如果用例要向用户隐藏一些后端数据(当我读到您的问题时似乎就是这样),加密是没有意义的,因为密钥要么存储在JavaScript代码中,要么通过网络发送。在这两种情况下,都不可能混淆。

客户端加密的一些有效用例示例:

  • 允许用户用他们拥有的密钥加密事物。
  • 使用一些公钥来加密拥有相应私钥的系统的消息。
  • ..。
票数 11
EN

Stack Overflow用户

发布于 2018-11-26 10:22:32

虽然window.btoa()并不完美,但它将提供基本的base-64编码,以避免每个人读取用户数据。这可能是你最快的解决方案。因为客户端的加密并不安全,因为最终用户(您的代码或Ajax调用等)可以看到浏览器中的所有内容,甚至您的加密密钥。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53478860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档