Obfuscators are converters aimed at making some content really hard or impossible to understand, usually by applying cryptography or masking. Obfuscators must comply to following Java interface signature:

public interface Obfuscator {
byte[] obfuscate(byte[] input);
}

Script Obfuscator

Obfuscate any content from input data using a custom scripting language. See DDC Extensibility (SDK) for more information. This obfuscator allows custom extension of the obfuscation, although you must consider the scripting language overhead in runtime.

PROPERTY

ID

DESCRIPTION

TYPE

REQUIRED

DEFAULT

EXAMPLES

ScriptscriptScript to extract input to outputStringYes

Languagelanguage

Language compatible with the JVM in which operations are written.

Note: the language pack must be installed in the system.

Script LanguageNogroovy

javascript

Select the  scripting language to be Javascript.

ParametersparametersScript optional parameters

Parameter List



param1=val1,val2;param2=va3
DependenciesdependenciesPath to external jars that will be added to the classloaderNoList of Paths
/home/acme/coyote.jar
Bootstrap scriptscript-bootstrapScript to execute when the step is initialized. Useful to initialize classesNoString

Encryption Obfuscator

Obfuscate any input content using different encryption schemes, both symmetric and asymmetric.

PROPERTY

ID

DESCRIPTION

TYPE

REQUIRED

Encryption typeencryption-typeThe encryption type to use.

AES

Blowfish

DESede

RC2

RC4

RSA

Yes
Encryption keyencryption-key

The key used to encrypt the field as a string.

For RSA use PEM format (base64-encoded keys).

StringYes
Encryption key versionencryption-key-versionThe version of the key used.StringYes

Hashing Obfuscator

Obfuscate any input content using a hashing scheme.

PROPERTY

ID

DESCRIPTION

TYPE

REQUIRED

Hashing typehash-typeThe hashing type to use.

MD5

SHA256

SHA512

Yes

Masking Obfuscator

Obfuscate any input content using a mask. Useful for privacy and anonymization.

PROPERTY

ID

DESCRIPTION

TYPE

REQUIRED

DEFAULT

Masking charactermaskThe masking character to use.

Character

No*
Fixed sizefixed-size

By default this obfuscator replaces each character of the original value with the masking character.

If this property is set, it replaces the original value by a fixed set of characters.

Example:

  • fixed-size = 3 characters
  • original value = "this is a test"
  • obfuscated value = "***" (instead of **************)
IntegerNo