Description and usage of CryptographicHashAttribute processor:
Calculates a hash value for each of the specified attributes using the given algorithm and writes it to an output attribute. Please refer to https://csrc.nist.gov/Projects/Hash-Functions/NIST-Policy-on-Hash-Functions for help to decide which algorithm to use.
Tags:
attributes, hash, md5, sha, keccak, blake2, cryptography
Properties:
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.
Name |
Default Value |
Allowable Values |
Description |
Character Set |
UTF-8 |
* US-ASCII * ISO-8859-1 * UTF-8 * UTF-16BE * UTF-16LE * UTF-16 |
The Character Set used to decode the attribute being hashed -- this applies to the incoming data encoding, not the resulting hash encoding. |
Fail when no attributes present |
true |
* true * false |
Route to failure when none of the attributes that are configured for hashing are found. If set to false, then flow files that do not contain any of the attributes that are configured for hashing will just pass through to success. |
Hash Algorithm |
SHA-256 |
* MD2 * MD5 * SHA-1 * SHA-224 * SHA-256 * SHA-384 * SHA-512 * SHA-512/224 * SHA-512/256 * SHA3-224 * SHA3-256 * SHA3-384 * SHA3-512 * BLAKE2-160 * BLAKE2-256 * BLAKE2-384 * BLAKE2-512 |
The cryptographic hash algorithm to use. Note that not all of the algorithms available are recommended for use (some are provided for legacy use). There are many things to consider when picking an algorithm; it is recommended to use the most secure algorithm possible. |
Missing attribute policy |
ALLOW |
* Allow missing attributes * Fail if missing attributes |
Policy for how the processor handles attributes that are configured for hashing but are not found in the flowfile. |
Dynamic Properties:
Dynamic Properties allow the user to specify both the name and value of a property.
Name |
Value |
Description |
A flowfile attribute key for attribute inspection | Attribute Name |
The property name defines the attribute to look for and hash in the incoming flowfile. The property value defines the name to give the generated attribute. Attribute names must be unique. Supports Expression Language: false |
Relationships:
Name |
Description |
success | Used for flowfiles that have a hash value added |
failure | Used for flowfiles that are missing required attributes |
Reads Attributes:
None specified.
Writes Attributes:
Name |
Description |
<Specified Attribute Name per Dynamic Property> | This Processor adds an attribute whose value is the result of hashing the specified attribute. The name of this attribute is specified by the value of the dynamic property. |
State management:
This component does not store state.
Restricted:
This component is not restricted.
Input requirement:
This component requires an incoming relationship.
System Resource Considerations:
None specified.