第 4 章 如何在 Spring Boot 中使用加密属性占位符
在保护容器时,不建议在配置文件中使用纯文本密码。避免使用纯文本密码的一种方法是尽可能使用加密属性占位符。
4.1. 关于用于加密值的 master 密码 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要使用 Jasypt 加密值,需要使用 master 密码。或者管理员可以选择主密码。Jasypt 提供了几种设置主密码的方法。Jasypt 可以集成到 Spring 配置框架中,这样属性值会在加载配置文件时解密。种方法是在 Spring 引导配置中以纯文本指定 master 密码。
Spring 使用 PropertyPlaceholder
框架将令牌替换为属性文件中的值,Jasypt 的方法来将 PropertyPlaceholderConfigurer
类替换为可识别加密字符串并解密它们。
示例
您可以使用环境变量设置 master 密码,而不必使用纯文本指定 master 密码。在 Spring Boot 配置文件中,将这个环境变量指定为 passwordEnvName
属性的值。例如,如果您将 MASTER_PW
环境变量设置为 master 密码,则在 Spring Boot 配置文件中具有此条目:
<property name="passwordEnvName" value="MASTER_PW">
<property name="passwordEnvName" value="MASTER_PW">