使用kettle的java脚本用base64加密字符串!!

首先我们看结构
在这里插入图片描述
用一个生成记录生成字符串,然后通过java脚本加密。
java脚本代码如下:

import java.util.Base64;
import java.util.*;

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException {
  if (first) {
    first = false;

  }

  Object[] r = getRow();

  if (r == null) {
    setOutputDone();
    return false;
  }

  r = createOutputRow(r, data.outputRowMeta.size());


	//加密 base64
  String foobar = get(Fields.In, "chen").getString(r);

  byte[] bytes = foobar.getBytes();
	String encoded = Base64.getEncoder().encodeToString(bytes);
  
  get(Fields.Out, "chen").setValue(r, encoded);

  
	//base64解密

	 byte[] decoded = Base64.getDecoder().decode(encoded);
 
        String decodeStr = new String(decoded);

	get(Fields.Out, "chen1").setValue(r, decodeStr);
	
  // Send the row on to the next step.
  putRow(data.outputRowMeta, r);

  return true;
}

java脚本的使用介绍:
在这里插入图片描述
找到箭头指的地方,双击main有案例出来,可以研究,当然在Code Snippits 里面的 有很多类的案例,都可以点开看,java脚本可以实现很多业务,建议我学习。

然后结果展示:
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Kettle是一款国外开源的ETL工具,它可以通过使用Java脚本来完成对数据流的操作。Java脚本使用Java语言编写的代码,内置了许多可以直接使用的函数。在Kettle中,Java脚本的主程序入口是processRow()函数,它类似于Java中的main方法,用于处理数据流。Kettle中有两种脚本文件,分别是transformation和job。transformation用于完成针对数据的基础转换,而job则用于完成整个工作流的控制。因此,你可以在Kettle使用Java脚本来实现各种数据操作和转换。\[1\]\[2\] #### 引用[.reference_title] - *1* [Kettle8.2脚本组件之Java脚本](https://blog.csdn.net/sujiangming/article/details/115843390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [JAVA调用Kettle脚本](https://blog.csdn.net/BUGdeQD/article/details/117733258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [kettleJAVA脚本使用](https://blog.csdn.net/fsp88927/article/details/24380299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛋蛋淡淡定

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值