使用CryptoJs对开发中的参数进行加密

场景描述

在开发程序中,我们无时无刻不在接受第三方的一些token,比如我们申请了地图软件的一些定位、导航功能,第三方会给予我们appid还有app secret作为访问他们服务的凭证,大部分时候我们会将求这些登陆凭证放在env文件中,不会直接Hard-Code,但是你是否觉得这样就安全了呢?

一般我们将数据放在env中,但是我们为了放置一些特别情况的出现,比如不小心这份env文件泄露出去了,这样别人就可以登陆到我们的账号,偷窃我们的服务,所以我们会使用第三方加密工具,以便保护我么不能的数据安全。更何况在很多时候,你的密钥之类无法放置在env文件中,此时你更需要对其进行加密。

使用CryptoJs

JavaScript library of crypto standards.

加密工具类有千千万,选用CryptoJs的最大原因是背靠谷歌,使用的人多。

目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、AES、RSA、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等。使用时可以引用总文件,也可以单独引用某一文件。

首先安装下面指令安装该工具类

npm install crypto-js

安装成功之后,我们可以直接在项目中使用了。
下面会做一个最简单的例子,简单的介绍加密以及解密。

简单的加解密​

接下来的代码实例较为简单,所以就不做分步讲解了。

需要注意的是,我们需要准备一个加密的密钥。
以AES的加解密为例,我们先准备一个密钥,一般我会将密钥放在​env文件里面,方便修改。

const SECRET_KEY = process.env.ENCRYPT_KEY;

当我们需要加密的时候,可以这么设置

const encryData=CryptoJS.AES.encrypt(
  'WQXMdFKB7rEPFrDrrZJn', 
  SECRET_KEY)
.toString();

解密较为麻烦,需要注意的是我们要uft8的转化

const decryData= CryptoJS.AES.decrypt(
  process.env.POSTGRES_PASSWORD, 
  SECRET_KEY)
.toString(CryptoJS.enc.Utf8),

在这里插入图片描述

添加链接描述
个人博客~求关注

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 19:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 19:12:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 19:12:03       82 阅读
  4. Python语言-面向对象

    2024-03-14 19:12:03       91 阅读

热门阅读

  1. 解密威胁:如何对抗.acekui勒索病毒的攻击

    2024-03-14 19:12:03       42 阅读
  2. Gin Web框架在Go语言中的应用与实践

    2024-03-14 19:12:03       46 阅读
  3. 利用小红书笔记API:为你的应用注入新活力

    2024-03-14 19:12:03       40 阅读
  4. 运放输入偏置电流及其影响

    2024-03-14 19:12:03       38 阅读
  5. Boxes in a Line(UVA 12657)

    2024-03-14 19:12:03       41 阅读
  6. 深入理解SPA、CSR与SSR的区别及应用

    2024-03-14 19:12:03       36 阅读