我如何使用tmap应用自定义函数,或者可以使用tsystem。我想用我的自定义函数动态解密加密列。我可以将所有加密值写入文件,然后从文件写入tsystem或tmap,并解密值。最好的方法是什么?
答案 0 :(得分:3)
使用Java例程。你可以创建java方法并在任何地方调用。例如
public static String decrypt(String encryptStr){
String decrypted = null;
try {
while(encryptStr != null){
try
{
String key = "Bar12345Bar12345"; // 128 bit key
// Create key and cipher
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
// encrypt the text
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
// for decryption
byte[] bb = new byte[encryptStr.length()];
for (int i=0; i<encryptStr.length(); i++) {
bb[i] = (byte) encryptStr.charAt(i);
}
// decrypt the text
cipher.init(Cipher.DECRYPT_MODE, aesKey);
decrypted = new String(cipher.doFinal(bb));
}
catch(Exception e)
{
e.printStackTrace();
}
}
} catch (IOException ex) {
Logger.getLogger(Snake_H.class.getName()).log(Level.SEVERE, null, ex);
}
return decrypted;
}
对于加密,请遵循相同的方法。你可以在 tmap
之类的任何地方调用这个java方法
参考Talend Routines
答案 1 :(得分:1)
如果您正在谈论例程,只需在可以放置一些Java代码的地方调用所需的方法
例如,作为输出流的表达式,您可以使用以下内容:
yourClass.yourMethod(...)
希望这会有所帮助。