如何不使用Studio修改context file中的加密密码
无Studio环境下加密Group Context数据库密码的实现方式
不需要依赖Studio,直接使用作业部署包自带的原生能力即可完成新密码加密,具体操作有两种常用方案:
- 调用部署包内置加密脚本
作业部署完成后,根目录会自带对应操作系统的加密可执行脚本:Windows环境对应encrypt.bat,Linux/macOS环境对应encrypt.sh。
操作步骤:- 进入作业部署的根目录
- 执行对应脚本,传入明文新密码作为入参,参考命令:
- Linux/macOS:
./encrypt.sh "你的新数据库明文密码" - Windows命令行:
encrypt.bat "你的新数据库明文密码"
- Linux/macOS:
- 控制台直接输出的字符串就是符合存储规范的加密密文,将该密文替换
contexts/default.properties中对应数据库密码字段的原有值即可。
- 直接调用内置加密类(脚本缺失时使用)
密码加密逻辑封装在作业依赖的公共工具类中,可直接通过Java命令调用生成密文:执行前需要把作业lib目录下的所有jar包加入当前环境的classpath,否则会抛出类不存在的错误
参考执行命令:java org.talend.utils.crypto.PasswordUtil encrypt "你的新数据库明文密码"
命令输出结果就是可直接写入配置文件的合法密文。
- 注意:不要自行使用通用Base64、自定义AES等算法生成密文,必须使用和作业运行时同源的加密工具生成内容,否则作业启动时会因解密失败导致数据库连接异常。替换配置文件内容后,下次作业启动会自动加载新配置,无需重新打包作业。
内容的提问来源于stack exchange,提问作者user666
相关产品推荐
相关产品推荐

