kettle-数据库连接密码加密及解密 知识

张飞 2019-10-18 819

遇到的问题:在使用kettle进行数据仓库的ETL操作的过程中,我们经常需要频繁的连接数据库,但是有时候进行多人协作开发的时候需要使用相同配置连接数据库,如果数据库太多,没有使用文档进行记录的话,忘记数据库的密码,导致别人无法连接数据库。此时可以使用我下边的方法进行密码的解密,当然笔者强烈建议大家在开发过程中,各种配置文档要统一集中进行管理!

解决方案:

以下以“123”为例,进行密码加密和解密的讲解

1.加密
进入kettle的安装目录
windows系统命令行执行:
Encr.bat -kettle 123
linux/mac系统命令行执行:
encr.sh -kettle 123
可生成Encrypted 2be98afc86aa7f2e4cb79ce10bec3fd89,即为123对应的kettle加密后的密码。
2.解密

在kettle里新建转换,拖入javascript组件,在里面写:

var setValue;
setValue = org.pentaho.di.core.encryption.Encr.decryptPasswordOptionallyEncrypted('Encrypted 2be98afc86aa7f2e4cb79ce10bec3fd89');

点击下方的【测试脚本】,生成记录填1,如下图:


最新回复 (0)
    • 运维开源项目互助社区
      2
        立即登录 立即注册 
返回