首先我们看结构
用一个生成记录生成字符串,然后通过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脚本可以实现很多业务,建议我学习。
然后结果展示: