Kettle 数据库JNDI方式数据库密码不能加密,搞他!

1新建数据库连接

1.1 普通局部变量

Step 1: 选择连接类型,这里选择Oracle

Step 2: 连接方式选择Native(JDBC)

Step 3: 右侧填写数据库连接信息

Step 4: 点击【测试】,保存即可

1.2 变量局部配置

Step 1: 在家目录下找到.kettle文件夹,适用linux和windows

Step 2: 编辑[.kettle/kettle.properties],加入

STAT_IP=host
STAT_PORT=portSTAT_DB=数据库
STAT_USER=用户STAT_PWD=密码

Step 3: 重启Kettle,如图所示,使用 ${}引用变量 即可

Step 4: 点击【测试】,保存即可

1.3 全局配置

Step 1: 选择连接类型,这里选择Oracle

Step 2: 连接方式选择JNDI

Step 3: 右侧填写JNDI编写的名称(名称是jdbc.properties内‘/’前的名称,如下面的stat)

Step 4: 点击【测试】,保存即可

  • JNDI模板如下

#Oraclestat/type=javax.sql.DataSourcestat/driver=oracle.jdbc.driver.OracleDriverstat/url=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = port))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = serviceInstance)))stat/user=stat/password=#MySqlmysql/type=javax.sql.DataSourcemysql/driver=com.mysql.jdbc.Drivermysql/url=jdbc:mysql://host:port/db?useUnicode=true&characterEncoding=utf-8mysql/user=mysql/password=

2数据库密码加密

企业安全规定都会要求明文密码加密,接下来操作会很重要。

2.1 普通局部配置

在数据库连接里面直接写密码,在保存的时候,kettle 会自动对密码进行加密处理。

2.2 变量局部配置

在kettle目录下会看到Encr.bat这样一个命令行工具,在当前目录打开cmdEncr.bat -kettle password,会生成出一串加密串。(linux 下是Encr.sh)

将Encrypted xxxxxxxxxxxxx在kettle.properties替换即可,STAT_PWD=Encrypted xxxxxxxxxxxxx

2.3 全局配置

测试发现,JNDI全局配置方式不支持明文加密。

》》》一言不合,直接撸源码

kettle 8.2 引用 simple-jndi-1.0.0.jar,在获取数据库连接前没有解密操作。

github上simple-jndi-1.0.3.jar 版本已经加上明文加密处理。看来已经有大佬解决了,一梭子就是干!!!

https://github.com/pentaho/pentaho-simple-jndi/blob/master/src/main/java/org/osjava/sj/loader/SJDataSource.java

》》》》开搞

下载源码到本地,编译,打包。

注意:parent-pom 也需要编译 ,https://github.com/pentaho/maven-parent-poms

  • 下面有编译好的jar 见云盘

链接: https://pan.baidu.com/s/17bmq4Oy1gKtk9c6fna-L2Q 提取码: ub7c

》》》》升级

simple-jndi-1.0.3.jar,pentaho-encryption-support-9.1.0.0-20200803.052023-95.jar

  • 将上面两个jar放到$KETTLE_HOME/data-integration/lib下

  • 两个jar的其他版本请备份,之后重启Kettle

》》》》测试

simple-jndi-1.0.3.jar,pentaho-encryption-support-9.1.0.0-20200803.052023-95.jar

  • 将上面两个jar放到$KETTLE_HOME/data-integration/lib下

  • 两个jar的其他版本请备份,之后重启Kettle

3数据库连接方式推荐

  • 数据库连接方式JNDI

  • JNDI名称使用变量局部配置

长按,扫码,关注

及时收看更多精彩内容

db 文件 加密_有人说Kettle 数据库JNDI方式数据库密码不能加密,搞他!相关推荐

  1. android程序db文件用什么编辑器,在 Android Studio 上调试数据库 ( SQLite )

    以前 Eclipse 时代,调试 SQLite 都是将数据库文件导出到电脑,然后再用软件打开查看.现在我们用 Android Studio,有没有更方便的方法呢? SQLScout 安装 SQLSco ...

  2. vue.js 密码加密_破解Windows、Linux和Mac操作系统密码的理论研究

    本文介绍了Windows.Linux和Mac等操作系统下密码认证机制,并在此基础上,分别介绍了Windows系统密码破解.Linux系统密码破解.MacOSX登录屏保密码破解.3种操作系统下破解系统密 ...

  3. jpa加密_使用JPA侦听器的数据库加密

    jpa加密 最近,我不得不将数据库加密添加到一些字段中,并且发现了很多不好的建议. 建筑问题 最大的问题是建筑. 如果持久性管理器静静地处理您的加密,那么根据定义,您的体系结构将在持久性和安全性设计之 ...

  4. win10文件夹加密_纯UEFI电脑安装Win10 LTSB做全分区加密

    系统工具箱TC_new 3.2 Lite 1.软件简介 本软件为创建TrueCrypt加密系统提供辅助工具,包括创建硬盘分区.隐藏分区.更新磁盘引导记录.盘符管理.常规系统及加密系统备份与恢复等功能. ...

  5. kettle(pdi)数据库连接中的密码的加密与解密

    文章目录 一.加密 : 二.java代码解密 加密代码 总结 一.加密 : 进入kettle的安装目录 windows系统命令行执行:Encr.bat -kettle 123 linux/mac系统命 ...

  6. python如何对excel批量加密_批量解除excel密码保护 可多个密码,python

    点击下载 exe文件 注意:执行执行完成后静等10秒钟再关闭,excel保存后没那么快关闭,保存完成后延迟10秒钟移动 源代码: #!/usr/bin/env python3 import confi ...

  7. cryptojs支持rsa加密_新特性解读 | 从 wireshark 看 MySQL 8.0 加密连接

    作者:秦福朗 爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查.热爱 IT,喜欢在互联网里畅游,擅长摄影.厨艺,不会厨艺的 DBA 不是好司机,didi~ 本文来源:原创投稿 *爱可生 ...

  8. centos删除文件夹_等保测评主机安全之centos密码长度

    密码长度,作为等级保护主机测评项里中密码复杂度要求之一,是必须要查的. 在<等级测评师初级教程>里,对于密码长度的设置指向了/etc/login.defs里的PASS_MIN_LEN字段. ...

  9. java python rsa加密_使用bouncy castle和python PKCS1OAEP进行java RSA加密

    一个多星期以来,我一直在使用this来实现一个RSA安全的与python服务器的通信.在 然而,我一辈子都搞不清所有罐子的进口.在 我已经包括了所有的罐子在蹦蹦城堡网站上找到,仍然没有骰子!在 我听说 ...

最新文章

  1. 汇总|SLAM常用linux命令,包括文件查找、查看文件大小、设置环境变量等
  2. 【Runtime Error】打开Matlib7.0运行程序报错的解决办法
  3. 瞎了,苹果说这两个Logo过于相似而提起诉讼...
  4. PHP实现定时任务的几种方法
  5. 【两行命令】R语言读取excel数据
  6. sql分区-纵向分表与横向分区表(转)
  7. python1~10阶乘_小练习 python3 阶乘运算
  8. 喜欢爱C/C++的人不要浮躁
  9. 工作汇报ppt案例_【赠书】开工大吉!今年一定要干过写PPT的!
  10. Nodejs创建简单的Bot
  11. LeetCode 209. 长度最小的子数组
  12. 设计素材|美丽的几何和多边形背景纹理
  13. MultiActionController
  14. 【实用】CSS Border使用小分享——盒模型
  15. java mapxtreme_mapxtreme java 初始化地图
  16. label怎么换行 vb_vb代码里如何换行啊?
  17. VUE源码解析(持续更新)
  18. 从零开始SpringCloud Alibaba实战(48)——阿里开发手册泰山版学习笔记二 日期时间 集合处理 并发处理
  19. c语言变量类型char,C语言中char变量详解
  20. 方格取数问题(网络流24题之一)

热门文章

  1. R语言使用str_remove函数和str_remove_all函数删除模式匹配的字符串:str_remove函数删除第一个模式匹配的字符串、str_remove_all函数删除所有模式匹配的字符串
  2. R语言可视化包ggplot2在一张图中画出两条线实战
  3. R语言数值累加函数cumsum实战
  4. 拟南芥arabidopsis 全染色体
  5. java 数值区间_java 各数据类型数值范围
  6. 人群密度估计--Generating High-Quality Crowd Density Maps using Contextual Pyramid CNNs
  7. Linux/Debian/Ubuntu报错解决:W: Target Packages (main/binary-amd64/Packages) is configured multiple times
  8. ubuntu 16.04 python3 使用ryu
  9. c语言自动机的建立,C语言最优状态机规范
  10. uniny 物体运动到一个点停止_隐藏的几何:各类随机物体中的深层联系