Skip to content
广告❤️成为赞助商

数据安全保护

Mongo-Plus 提供了数据安全保护功能,旨在防止因开发人员流动而导致的敏感信息泄露。从2.1.4版本开始,Mongo-Plus 支持通过加密配置来增强数据库的安全性。

配置加密

Mongo-Plus 允许你使用加密后的字符串来配置数据库连接信息。在配置文件中,${ENC:}中的配置项将被视为加密内容。

yaml
mongo-plus:
  data:
    mongodb:
      username: ${ENC:e5fc2ecf9aeb079bd1fdebf1e189e0e7}
      password: ${ENC:e9b75f44fe5e83c26d50935429e5d285aec14ae224abe9d08a3e2cab9308732e}

密钥加密

使用 AES 算法生成随机密钥,并对敏感数据进行加密。

java
public static void main(String[] args) throws Exception {
    String secretKey = AESExample.generateRandom();
    String encryptedData = encrypt("data", secretKey);
    System.out.println("密文:"+encryptedData);
}

如何使用

在启动应用程序时,通过命令行参数或环境变量传递密钥。

java
// Jar 启动参数示例(在IDEA中设置Program arguments,或在服务器上设置为启动环境变量)
--mpw.key=rhNFcgdak7P4qDBm
// 单元测试参数示例
@SpringBootTest(args = "--mpw.key=rhNFcgdak7P4qDBm")

注意

  • 加密内容必须用${ENC:}包裹。
  • 随机密钥应由负责人妥善保管,知晓的人越少越好。