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 包 rpscript-api-botkit 使用教程

    背景 在前端开发中,有时候需要从第三方平台获取数据并进行一定的处理。此时我们可以使用 rpscript-api-botkit 这个 npm 包来完成这个任务。rpscript-api-botkit 是...

    3 年前
  • npm 包 maptalks-plugin-cli 使用教程

    简介 maptalks-plugin-cli 是一种压缩和发布 maptalks 插件的 npm 包,它可以帮助前端开发人员快速地准备自己的 maptalks 插件,并将其发布到 npm 包管理器上。

    3 年前
  • npm 包 stash-it-plugin-ttl 使用教程

    前言 现代 web 开发需要处理的数据越来越多,缓存数据以提高性能和减轻后端压力变得越来越重要。stash-it-plugin-ttl 是一个用于设置缓存时间的 stash-it 插件,它可以为缓存数...

    3 年前
  • npm包unstated-viewer使用教程

    在前端开发中,状态管理一直是一个重要的话题。在React开发中,有很多优秀的状态管理库,如Redux、MobX等,但是这些库都需要引入许多繁琐的代码和配置。unstated-viewer则提供了一种更...

    3 年前
  • npm 包 highland-request 使用教程

    引言 在前端开发中,我们经常需要向后端请求数据,然后在页面中展示。而 highland-request 这个 npm 包可以让我们更加方便地进行网络请求。 本文将通过实例介绍 highland-req...

    3 年前
  • npm 包 react-native-aliyun-short-video-example 使用教程

    在移动应用开发中,短视频功能的需求越来越高。为了方便开发人员快速实现该功能,阿里云提供了一个 npm 包:react-native-aliyun-short-video-example。

    3 年前
  • NPM包cordova-plugin-progressdialog使用教程

    介绍 Cordova-plugin-progressdialog是一个Cordova插件,用于显示进度对话框,使用户能够了解某些操作的进度。本文章将提供详细的使用教程并附带示例代码。

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

    简介 electron-native-loader 是一个 Node.js 模块,它使用 Node.js C++ 插件扩展和 Webpack 模块打包器,实现了 Node.js 模块在 Electro...

    3 年前
  • npm 包 electron-native-plugin 使用教程

    简介 electron-native-plugin 是一个用于 Electron 应用程序开发的 npm 包,它提供了一种简单的方法来将本地代码绑定到 Electron 应用程序中。

    3 年前
  • npm 包 npm-cache-env 使用教程

    介绍 npm-cache-env 是一个能够把环境变量写入到 npm cache 中的 npm 包,可以方便我们在不同的开发环境中设定不同的环境变量,提高开发效率。

    3 年前
  • npm 包 mars-mint-ui 使用教程

    前言 随着前端技术的快速发展,我们在日常开发中需要使用大量的 UI 组件,并且这些组件往往在不同的项目中都会使用到。为了解决这个问题,我们可以将这些组件封装成一个 npm 包,并在需要的项目中使用。

    3 年前
  • npm 包 Sequelize-easy-query 使用教程

    在 Web 开发中,数据库查询是必不可少的功能,而且查询语法经常会变动,同时处理连表查询、排序、分页等高级操作也会变得越来越复杂,这时候我们各种 ORM(Object-Relational Mappi...

    3 年前
  • npm 包 dep-vis 使用教程

    在前端开发中,我们经常会使用各种 npm 包来快速搭建应用,但是随着应用越来越复杂,npm 包之间的依赖关系也越来越复杂,导致我们难以把控整个项目的依赖树。这时候,一个叫做 dep-vis 的工具就可...

    3 年前
  • npm 包 declarative-traverser 使用教程

    在前端开发中,我们经常需要操作和遍历 DOM 树,这时候用到的工具是选择器和遍历器。然而,当我们需要操作数据结构(比如 JSON 或者对象)的时候,我们需要另外的方案来进行处理。

    3 年前
  • npm 包 @xcubeio/bookshelf 使用教程

    简介 @xcubeio/bookshelf 是一个基于 React 的 UI 库,可以方便地构建出漂亮且高度自定义的组件。它包含了许多常用的组件,例如按钮、表格、卡片、表单等,并且提供了强大的主题定制...

    3 年前
  • npm 包 electron-native-patch-loader 使用教程

    简介 electron-native-patch-loader 是一个 npm 包,它可以帮助我们在 Electron 应用中加载本机模块。我们知道,在渲染和主进程中,Node.js API 是可以直...

    3 年前
  • npm 包 lm-moneys-keyboard 使用教程

    介绍 lm-moneys-keyboard 是一个轻量级的 Javascript 插件,可以方便地为输入框添加小键盘,专门用于处理货币等需要保留两位小数的数字输入。

    3 年前
  • npm 包 x-apidoc 使用教程

    在前端开发中,我们经常需要编写接口文档,以方便后端开发人员进行接口实现。而 x-apidoc 就是一个可以帮助我们生成接口文档的 npm 包。本文将介绍如何使用 x-apidoc 生成接口文档。

    3 年前
  • npm包asterism-for-domotics使用教程

    简介 asterism-for-domotics是一款基于DOM (Document Object Model)的前端库,旨在帮助开发者快速构建智能家居/物联网业务。

    3 年前
  • npm 包 bower-purge 使用教程

    作为前端工程师,我们常常需要使用 npm 包来进行项目开发。其中,bower-purge 是一个非常实用且常用的工具,用于清理 bower 依赖中未使用的文件和目录。

    3 年前

相关推荐

    暂无文章