《开发必备:用 @chainlink/env-enc 加密 .env 文件》

引言

在现代软件开发中,保护敏感信息的安全性是至关重要的。.env 文件通常用于存储应用程序的配置信息,如私钥、API 密钥、数据库密码等。然而,如果这些文件被意外泄露(例如上传到公共代码仓库),可能会导致严重的安全问题。为了应对这一挑战,加密 .env 文件成为了一种有效的解决方案。通过加密,即使文件被泄露,攻击者也无法直接读取其中的内容。本文将详细介绍如何使用 @chainlink/env-enc 工具对 .env 文件进行加密,并在运行时安全地加载这些变量。

一、为什么需要加密 .env 文件?

.env 文件 通常包含敏感信息,如私钥、API 密钥、数据库密码等。

如果直接将 .env 文件上传到代码仓库(如 GitHub),可能会导致信息泄露,引发安全问题。

加密 .env 文件后,即使文件被泄露,攻击者也无法直接读取其中的内容。

二、如何把env内容进行加密呢?

1、安装 @chainlink/env-enc

npm install --save-dev @chainlink/env-enc

在这里插入图片描述

安装好之后,在 package.jsondevDependencies 开发模式的依赖下有 env-enc
在这里插入图片描述

2、设置密码

npx env-enc set-pw

按提示输入一个强密码,该密码将用于加密和解密 .env 文件。

3、添加变量

①输入变量名

可以按住 shift + ctl + v 复制到控制台
我这里输入的是 SEPOLIA_URL

②然后按回车键

③输入这个变量的值

④按回车键

然后会询问你是否还需要再添加变量,我这里需要加密两个,以此类推。
所以再输入了一个变量名 PRIVATE_KEY;按回车键;输入变量的值;按回车键;不需要添加变量的话,再按一次 enter 就可以啦。下面的图中 绿色的 ENTER

在这里插入图片描述

4、生成加密文件

运行上述步骤后,会生成一个 .env.enc 文件,其中存储了加密后的变量值。这样,即使文件被泄露,攻击者也无法直接读取内容。
在这里插入图片描述

5、加载加密变量

然后在配置文件中调用 这是原来的调用.env文件的导入。
在这里插入图片描述

然后把 原来导入的dotenv替换成 @chainlink/env-env 导入进去 就好啦,这样调用的就是.env.enc 里面的变量啦。
在这里插入图片描述

6、更新 .gitignore 文件

再在 .gitignore 文件 加入.env.enc 这样上传代码到 git 就可以忽略这个文件啦。
在这里插入图片描述

三 @chainlink/env-enc 的工作原理

@chainlink/env-enc 使用对称加密算法(如 AES)对 .env 文件中的内容进行加密。

加密后的内容存储在 .env.enc 文件中。

在运行时,工具会使用你设置的密码解密 .env.enc 文件,并将其内容加载到环境变量中 process.env

总结

通过使用 @chainlink/env-enc,我们可以有效地保护 .env 文件中的敏感信息,防止其在开发和部署过程中被泄露。加密后的 .env.enc 文件可以安全地存储和共享,而解密后的变量则可以在运行时安全地加载到应用程序中。此外,将加密文件加入 .gitignore 可以进一步确保敏感信息不会被意外上传到代码仓库。这种方法不仅提高了开发环境的安全性,还为团队协作提供了便利。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yoona1020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值