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.