npm 包 envsign 使用教程

在前端开发中,经常需要使用敏感信息(如 API key、密码等),但将它们硬编码到代码中是不安全的。因此,需要将这些敏感信息存储在环境变量中,然后从代码中引用它们。而 npm 包 envsign 就为我们提供了一种有效的环境变量安全解决方案。

什么是 envsign

envsign 是一个 npm 包,它可以帮助我们将敏感信息转换成加密信息并存储在环境变量中。它使用了一个秘钥来加密敏感信息,而这个秘钥本身也存储在环境变量中,因此保证了所有的敏感信息都可以被安全地存储。

同时,envsign 还提供了简单易用的 API,可以通过调用方法来解密环境变量中存储的信息。

如何使用 envsign

安装和配置

首先,需要在项目中安装 envsign:

--- ------- ------- ------

接着,在项目的根目录下创建一个名为 .envsign 的文件,用来存储秘钥。在这个文件中,需要定义一个环境变量 ENVSIGN_KEY,用来存储秘钥:

-------------------------------

需要注意的是,这个秘钥需要保密,所以不能将它存储在源代码库中。可以通过使用 Git 的 gitignore 功能来防止意外地提交秘钥。

存储加密信息

现在,就可以使用 envsign 工具将敏感信息转换成加密信息,然后存储在环境变量中了。在命令行中输入以下命令:

------- --- ------ -------

其中,name 表示需要存储的环境变量名称,而 value 则表示需要加密的敏感信息。例如:

------- --- ------- ----------

这个命令会将 my-api-key 转换成加密信息,并存储在环境变量 API_KEY 中。如果需要存储多个加密信息,可以多次调用 envsign set 命令。

需要注意的是,由于秘钥与加密信息是一一对应的,所以换用不同的秘钥会导致原来的加密信息无法解密,因此必须使用同一个秘钥来解密存储在环境变量中的加密信息。

解密环境变量

当需要使用加密信息时,可以通过 envsign 提供的 API 来解密环境变量。在代码中,使用以下方法即可:

----- ------- - -------------------
----- ------ - -----------------------

这个代码会从环境变量 API_KEY 中获取已存储的加密信息,并调用 envsign API 来解密它。最后,将得到的敏感信息保存在 apiKey 变量中。

示例代码

以下是一个使用 envsign 的示例代码,其中引入了 axios 模块,使用 envsign 来解密环境变量中存储的 API key,并向后端服务器发起了请求:

----- ----- - -----------------
----- ------- - -------------------
----- ------ - -----------------------

--------------------------------------------- -
    ------- -
        -------- ------
    -
--
-------------- ---------- -
    ---------------------------
--
--------------- ------- -
    -------------------
---

总结

envsign 是一个有效的环境变量加密解决方案,它可以帮助前端开发者保证敏感信息的安全性。通过本文的介绍,你已经了解到了如何使用 envsign 存储和解密环境变量,希望本文对你有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065f84238a385564ab6c68


猜你喜欢

  • npm 包 styled-console-log 使用教程

    在前端开发中,console.log 已经成了日常必备的调试工具。然而,原生的 console.log 很难区分不同信息级别的输出,而且输出样式单一,不容易吸引开发者的注意力。

    3 年前
  • npm 包 @use-angular/markdown 使用教程

    简介 在前端开发过程中,我们经常需要标记和渲染文本。而 Markdown 作为一种轻量级的标记语言,已经被广泛地应用在各个领域中。 @use-angular/markdown 是一个 Angular ...

    3 年前
  • npm 包 fablabsjs 使用教程

    介绍 fablabsjs 是一个基于 Three.js 库的 JavaScript 库,专门用于创建交互式的 3D 模型和场景。它提供了各种实用、易于使用的函数和对象,可简化开发者创建 3D 场景的过...

    3 年前
  • npm 包 fs-watch-exec 使用教程

    在日常前端开发中,经常需要监听文件的变化,例如自动编译 Less 或者打包,自动刷新浏览器等。Node.js 中的 fs 模块提供了读写文件的操作,但并不能实现文件变化的监听。

    3 年前
  • npm 包 indent-tree 使用教程

    在前端开发中,代码编写和维护是非常重要的工作。但是,当项目越来越大时,代码的阅读和调试就会变得十分困难。这时,一个好的文件目录结构就变得尤为重要。本文将介绍一个有用的 npm 工具包——indent-...

    3 年前
  • npm 包 @coracain/basic-success-dialog-block 使用教程

    简介 在 Web 开发中,经常需要使用到弹出提示框。而 @coracain/basic-success-dialog-block 这个 npm 包可以帮助我们快速地生成一个成功提示框,同时也具有一定的...

    3 年前
  • npm 包 rpscript-api-markdown 使用教程

    介绍 rpscript-api-markdown 是一个基于 Node.js 的库,它可以将 JavaScript 代码转换为 Markdown 格式,方便在文档中引用代码,或者在博客内展示代码示例。

    3 年前
  • npm 包 Marionette Bindings 使用教程

    概述 Marionette Bindings 是一个可在 Backbone.js 框架中使用的数据绑定工具,它提供了一个简单的方式来将模型数据自动绑定到视图上。无需手动更新视图,当模型数据更新时,Ma...

    3 年前
  • npm 包 sassjs-loader 使用教程

    在前端领域中,经常需要使用 CSS 预处理器来提高 CSS 的可维护性和复用性。其中,Sass 是一种常见的 CSS 预处理器,它提供了许多有用的功能,如变量、嵌套、混合、继承等。

    3 年前
  • npm 包 simplehide-js 使用教程

    在前端开发中,我们会经常在网页中使用到隐藏或显示某些元素的功能。而使用相关的 CSS 样式或 JavaScript 代码实现起来并不方便,尤其当需要在多个网页间复用时,可维护性也变得困难。

    3 年前
  • npm 包 hex-rgb-conv 使用教程

    npm 是 Node.js 的包管理工具,为 Node.js 提供包管理和分发的服务。hex-rgb-conv 是一款在 npm 上发布的 npm 包,它提供了十六进制颜色和 RGB 颜色之间的相互转...

    3 年前
  • npm 包 polymer3-granite-bootstrap 使用教程

    在前端开发中,许多工程师使用 polymer 和 bootstrap 进行网页设计,以便为用户提供美观、响应式的界面。然而,如何将这两种框架合并到您的项目中以及如何使用它们还是一个挑战。

    3 年前
  • Npm 包 literate-purescript 使用教程

    介绍 在前端开发中,purescript 是一种类型安全且功能强大的函数式编程语言。而 literate-purescript 便是一种让我们可以以更自然的方式编写 purescript 代码的 np...

    3 年前
  • npm 包 @aquestsrl/sine-waves 使用教程

    @aquestsrl/sine-waves 是一个基于 Canvas 实现的波形绘制库,它可以让你轻松地创建各种类型的波浪动画,非常适合用于前端开发中创建一些动态效果。

    3 年前
  • npm包@coracain/basic-not-found-block使用教程

    在前端开发过程中,时常会出现页面访问404错误的情况,此时需要一个友好的页面提示用户该页面未找到。@coracain/basic-not-found-block就是一个专门用来解决这一问题的npm包。

    3 年前
  • npm 包 @coracain/not-permission-block 使用教程

    前言 随着 Web 应用的发展,权限管理逐渐成为前端开发中的必备技能。但是,如何在前端实现权限管理仍然是开发者们需要面对的问题。本文将介绍一个能够帮助前端开发者快速实现权限控制的 npm 包:@cor...

    3 年前
  • npm 包 zhanmeng 使用教程

    简介 zhanmeng 是一个基于 node.js 的 npm 包,它可以帮助我们在前端通过命令行的方式快速生成整套项目目录结构和文件,以及配置好相关的开发环境和库。

    3 年前
  • npm 包 @neocxf/node-ts 使用教程

    在前端开发过程中,我们可能需要使用 TypeScript 进行编程。而使用 TypeScript 最大的好处,就是可以让我们的代码更加清晰易读。但是,很多前端开发者都不喜欢使用 TypeScript,...

    3 年前
  • npm 包 @pheasantplucker/redis 使用教程

    前言 Redis 是一种开源的、内存数据结构存储系统,通常被用作数据库、缓存、消息中间件等。在使用 Redis 的过程中,我们常常需要在 Node.js 中使用 Redis 相关模块来进行连接和数据操...

    3 年前
  • npm 包 iolist.js 使用教程

    iolist.js 是一个可以在浏览器中直接使用的 JavaScript 库,它通过提供一系列的内置函数和 API,使得开发者可以更加方便地处理输入输出列表(IO 列表)。

    3 年前

相关推荐

    暂无文章