Kettle 数据库密码加密解密

2023-10-26

导语

如果你在Java里调用创建好的ktr文件,在开发时还是可以用的,但是上了生产测试和生产就没办法使用了,数据连接换了,这时候你可能会想到,我在创建一个转换不就好了,但是这个是有风险的,Kettle还是很友好的,为我提供了加密解密的工具!


Kettle工具加密

Kettle的客户端为我提供了加密的工具

  • 进入kettle的安装目录

    • windows系统命令行执行:Encr.bat -kettle 123

    • linux/mac系统命令行执行:encr.sh -kettle 123
      在这里插入图片描述
      解密需要创建转换实现,相对麻烦些,可以直接使用下面的java代码实现


Java代码实现加解密

加密

        KettleClientEnvironment.init();
        String dev = Encr.encryptPassword("123");
        System.out.println(Encr.PASSWORD_ENCRYPTED_PREFIX+dev);

Encr.PASSWORD_ENCRYPTED_PREFIX 您也可以不写,因为这是固定的

解密

        KettleClientEnvironment.init();
        String decryptPassword = Encr.decryptPassword(dev);
        System.out.println(decryptPassword);

相关的依赖

 <dependencies>
        <dependency>
            <groupId>pentaho-kettle</groupId>
            <artifactId>kettle-ui-swt</artifactId>
            <version>8.2.0.0-342</version>
        </dependency>
        <dependency>
            <groupId>pentaho-kettle</groupId>
            <artifactId>kettle-engine</artifactId>
            <version>8.2.0.0-342</version>
        </dependency>
        <dependency>
            <groupId>pentaho-kettle</groupId>
            <artifactId>kettle-core</artifactId>
            <version>8.2.0.0-342</version>
        </dependency>
    </dependencies>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kettle 数据库密码加密解密 的相关文章

  • 如何编写 Hibernate HQL 查询来删除所有“孙子”元素?

    我有学校 里面有团体 里面有学生 我想删除特定学校的所有学生 在 SQL 中我可以编写以下查询 DELETE FROM students1 WHERE students1 group id IN SELECT id FROM group1
  • 无法访问类型的封闭实例。 [复制]

    这个问题在这里已经有答案了 整个代码是 public class ThreadLocalTest ThreadLocal
  • 如何让Spring RabbitMQ创建一个新的队列?

    根据我对rabbit mq的 有限 经验 如果您为尚不存在的队列创建新的侦听器 则会自动创建该队列 我正在尝试将 Spring AMQP 项目与rabbit mq 一起使用来设置侦听器 但出现错误 这是我的 xml 配置
  • 如何迭代所有注册表项?

    我正在尝试迭代所有注册表项以查找 包含 并删除 jre1 5 0 14 值 有办法做到吗 下面的代码只是在特定键下找到jre1 5 0 14 我确实想迭代所有的键 顺便说一句 if 子句获取是否等于 jre1 5 0 14 但如果它包含 j
  • 使用 AbstractTableModel 获取 JTable 中选定的行

    我有一个JTable using AbstractTableModel我在哪里有一个JCheckBox在第一列中用于选择行 现在 我需要从已检查的表中获取选定的行 现在 我按顺序从第一行遍历到最后一行并获取所有选择的行 如下所示 List
  • 实现与扩展:何时使用?有什么不同?

    请用易于理解的语言进行解释或提供某些文章的链接 extends is for 延伸一类 implements is for 实施一个接口 接口和常规类之间的区别在于 在接口中您不能实现任何声明的方法 只有 实现 接口的类才能实现方法 C 中
  • Javadoc 1.5 和 1.6 中缺少 enum.valueOf(String name)

    这可能是一个愚蠢的问题 但我正在使用该方法enum valueOf String name 那里没问题 只是当我检查 javadoc 以了解有关此方法的更多信息时 我找不到它 有javadoc用于valueOf Class
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • SQLAlchemy 中 mssql+pyodbc 出现“数据源名称太长”错误

    我正在尝试使用 SQLAlchemy 和 pyodbc 将数据帧上传到 Azure SQL Server 数据库上的数据库 我已建立连接 但上传时出现错误 pyodbc Error IM010 IM010 Microsoft ODBC 驱动
  • 在 Hibernate 中创建 UPDATE RETURNING 查询

    在 Oracle 中 我们可以创建一个更新查询 该查询将使用 RETURNING 子句返回更新的记录 Hibernate中有类似的功能吗 除了数据库生成的值之外 Hibernate 显然不需要返回更新的实例 因为对象传递给Session s
  • Java 唤醒休眠线程

    我阅读了其他帖子 但没有找到我正在寻找的确切答案 所以我希望有人能给出一些澄清 我有一个将运行一段时间的程序 我有一些在后台运行的线程来执行各种任务 为了简单起见 让我们考虑 3 个线程 ThreadA每 10 秒执行一次任务 其中Thre
  • 以编程方式设置 Logback Appender 路径

    我正在尝试以编程方式设置 Logback 附加程序路径 滚动文件附加器 http logback qos ch apidocs ch qos logback core rolling RollingFileAppender html准确地说
  • 打印 jasper 文件时执行报表 SQL 语句时出错

    我修改了一个旧项目 但无法确定这段代码有什么问题 使用下面的 jrxml它创造 jasper文件 当我打印 jasper 文件时 使用此代码JasperPrint jasperPrint JasperFillManager fillRepo
  • SimpleDateFormat 将 lenient 设置为 false 时出现异常

    为什么这段代码会抛出无法解析日期的异常 SimpleDateFormat f new SimpleDateFormat yyyy MM dd T HH mm ss 000Z f setLenient false String dateStr
  • 在 eclipse 之外将 Spring MVC 应用程序部署到 tomcat 的幕后会发生什么?

    我猜想使用像 eclipse 这样很棒的 IDE 的一个缺点是你会忽略应用程序幕后发生的事情 我是一名 Ruby 开发人员 所以不是一名 Java 老手 所以我一直在用 java 编写一个项目 并使用 spring 框架进行 IOC 和 M
  • 我们可以使用 for-each 循环来迭代 Iterator 类型的对象吗? [复制]

    这个问题在这里已经有答案了 如果我们执行以下操作 我们会收到错误 class FGH public static Iterator reverse List list Collections reverse list return list
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • scala中的协变类型参数需要在java接口中保持不变

    我有一个看起来像这样的特征 一些进一步的信息可以在我自己提出了这个相关问题 https stackoverflow com questions 3695990 inheritance and automatic type conversio
  • JMockit - 初始化问题

    当我使用以下测试时 我收到警告 警告 JMockit 是按需初始化的 这可能会导致某些测试失败 请检查文档以获取更好的初始化方法 这是我的测试实现 package test import static mockit Mockit impor

随机推荐

  • Node.JS是什么

    1 Node JS是什么 Node js 不是一种独立的语言 Node js 也不是JavaScript 框架 Node js 是一个让 JavaScript 运行在服务端的开发平台 Node js 是一个让 JavaScript 运行在浏
  • CTFSHOW WEB 红包题第二弹

    1 题目 2 解题 2 1 查看源码 按F12发现提示 cmd 2 2 尝试传参 通过url传参数cmd aaa http 2799b166 4390 45e9 a3f4 711d2a5e64c5 challenge ctf show 80
  • 20-TCP 协议(滑动窗口——基础)

    相信大家都遇到过这样的场景 同学 Luffy 给你打电话 让你记下一串手机号码 可是你记忆力不太好 你跟 Luffy 约定 一次只最多只能报 4 个数字 Luffy 念一遍 如果你听到了就把他说的话重复一遍 接下来 你 你一次最多报 4 个
  • vue3中的工具函数 isRef() 和 unref()

    1 isRef 检查某个值是否为 ref 主要用于检测类型 function isRef
  • Python中的shuffle()函数的使用

    解释说明 shuffle 函数是打乱序列里面的元素 并随机排列的 使用说明 import random random shuffle alist 注意下 alist可以使是一个列表 也可以是个序列 shuffle 是不能直接访问的 需要导入
  • 枚举操作大全

    定义 using System using System Collections Generic using System Linq using System Text using System Threading Tasks namesp
  • 0基础学习VR全景平台篇 第99篇:百度地图如何上传全景图

    蛙色平台现已打通VR全景入驻百度地图全流程 百度全景分为免费版和付费版两种 其中付费支持配置作品音乐 场景漫游热点 联系电话 描述信息 百度地图上传案例 免费版 付费版 一 百度地图上传流程 1 进入蛙色VR账号后台 1 选择 第三方平台
  • Python中的三目运算符

    一般支持三目运算符的语言 如C语言 的语法格式一般是这样的 判断条件 返回布尔值 为真时的结果 为假时的结果 比如 x x 2 1 x 1 x python并不支持 这种符号所表达的先判断再选择的含义 但仍然有相应的语法支持 1 Pytho
  • 分分钟在自己电脑上建一个视频网站,收费电影随便看,还没广告!

    声明 iker干货 本文仅作为技术文章 不鼓励不诱导用户观看盗版视频 第一步 分分钟在自己电脑上建一个视频网站 收费电影随便看 还没广告 第二步 安装好软件后先切换环境 推荐使用 PHP 7 0 12 Apache 今天用的这个网站程序不需
  • JavaScript forEach 如何跳出循环?

    1 forEach用法 遍历时更加简洁 效率和for循环相同 不用处理集合下标的问题 减少了出错的概率 const items item1 item2 item3 const arr for for let i 0 i
  • tampermonkey使用直接获取百度云盘下载地址

    1 http tampermonkey net 直接下载相应插件 2 打开这个插件 到管理界面 点击获取脚本 3 打开的获取脚本的页面上有很多网站链接 随意进去一个 搜索baidu 找到百度下载助手的一个点进去 并且安装 我选择的是 Gre
  • python GUI 简易计算器

    见代码 coding utf 8 time 2020 12 9 21 01 Author Vab File 计算器 py Software PyCharm from tkinter import class Calc def init se
  • OLED透明屏交互技术:开创未来科技的新篇章

    OLED透明屏交互技术作为一项前沿的科技创新 正在以其高透明度 触摸和手势交互等特点 引领着未来科技的发展 不仅在智能手机 可穿戴设备和汽车行业有着广泛应用 还在广告和展示领域展现出巨大的潜力 那么 尼伽在这篇文章中将深入探讨OLED透明屏
  • 干货

    导读 目标检测 Object Detection 是计算机视觉领域的基本任务之一 学术界已有将近二十年的研究历史 近些年随着深度学习技术的火热发展 目标检测算法也从基于手工特征的传统算法转向了基于深度神经网络的检测技术 从最初 2013 年
  • meterpreter常用命令

    meterpreter常用命令 1 meterpreter简介 1 1 什么是meterpreter 1 2 meterpreter常用命令 2 文件系统命令 3 用户设备命令 4 开启远程桌面 5 收集信息 5 针对未安装补丁攻击 5 注
  • ESP8266 阿里云 MQTT物联网测试

    前面写了篇恢复ESP8266 发布APRS的文章 ESP8266 APRS 板子修改为提交数据到T2服务器的方法 五块钱的方便面的博客 CSDN博客一年多前 我折腾好了基于ESP8266 BMP280 锂电池 方案做了个nodeMCU固件的
  • Uni-App从入门到实战-黑马程序员【uniapp基础知识讲义笔记】

    想要课程资料的同学可以留言 留下你的邮箱哦 uni app的基本使用 课程介绍 基础部分 环境搭建 页面外观配置 数据绑定 uni app的生命周期 组件的使用 uni app中样式学习 在uni app中使用字体图标和开启scss 条件注
  • Android开发:Handler简单实现验证码功能

    最近开始学习handler 觉得这个小demo对handler的理解挺有帮助的 先看布局页面 布局文件就不多说 差不多个意思就行 需求分析 一个EditText输入验证码 一个发送验证码的按钮Button 当点击这个按钮之后 该按钮就不能再
  • NVIDIA Tensor Core / DLA 资料汇总

    1 Tensor Core 介绍 Tensor Core有多牛 javastart的博客 CSDN博客 tensorcore 2 Tensor Core Sample Code Programming Tensor Cores in CUD
  • Kettle 数据库密码加密解密

    导语 如果你在Java里调用创建好的ktr文件 在开发时还是可以用的 但是上了生产测试和生产就没办法使用了 数据连接换了 这时候你可能会想到 我在创建一个转换不就好了 但是这个是有风险的 Kettle还是很友好的 为我提供了加密解密的工具