blob: b6817eb0e4b621b4468274ab72c0a23965526415 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>CryptographicHashAttribute</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">CryptographicHashAttribute</h1><h2>Description: </h2><p>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. </p><h3>Tags: </h3><p>attributes, hash, md5, sha, keccak, blake2, cryptography</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Character Set</strong></td><td>character_set</td><td id="default-value">UTF-8</td><td id="allowable-values"><ul><li>US-ASCII <img src="../../../../../html/images/iconInfo.png" alt="US-ASCII" title="US-ASCII"></img></li><li>ISO-8859-1 <img src="../../../../../html/images/iconInfo.png" alt="ISO-8859-1" title="ISO-8859-1"></img></li><li>UTF-8 <img src="../../../../../html/images/iconInfo.png" alt="UTF-8" title="UTF-8"></img></li><li>UTF-16BE <img src="../../../../../html/images/iconInfo.png" alt="UTF-16BE" title="UTF-16BE"></img></li><li>UTF-16LE <img src="../../../../../html/images/iconInfo.png" alt="UTF-16LE" title="UTF-16LE"></img></li><li>UTF-16 <img src="../../../../../html/images/iconInfo.png" alt="This character set normally decodes using an optional BOM at the beginning of the data but encodes by inserting a BE BOM. For hashing, it will be replaced with UTF-16BE. " title="This character set normally decodes using an optional BOM at the beginning of the data but encodes by inserting a BE BOM. For hashing, it will be replaced with UTF-16BE. "></img></li></ul></td><td id="description">The Character Set used to decode the attribute being hashed -- this applies to the incoming data encoding, not the resulting hash encoding. </td></tr><tr><td id="name"><strong>Fail when no attributes present</strong></td><td>fail_when_empty</td><td id="default-value">true</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">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.</td></tr><tr><td id="name"><strong>Hash Algorithm</strong></td><td>hash_algorithm</td><td id="default-value">SHA-256</td><td id="allowable-values"><ul><li>MD2 <img src="../../../../../html/images/iconInfo.png" alt="MD2 (16 byte output) [WARNING -- Cryptographically broken] Cryptographically broken due to collisions" title="MD2 (16 byte output) [WARNING -- Cryptographically broken] Cryptographically broken due to collisions"></img></li><li>MD5 <img src="../../../../../html/images/iconInfo.png" alt="MD5 (16 byte output) [WARNING -- Cryptographically broken] Cryptographically broken due to collisions" title="MD5 (16 byte output) [WARNING -- Cryptographically broken] Cryptographically broken due to collisions"></img></li><li>SHA-1 <img src="../../../../../html/images/iconInfo.png" alt="SHA-1 (20 byte output) [WARNING -- Cryptographically broken] Cryptographically broken due to collisions" title="SHA-1 (20 byte output) [WARNING -- Cryptographically broken] Cryptographically broken due to collisions"></img></li><li>SHA-224 <img src="../../../../../html/images/iconInfo.png" alt="SHA-224 (28 byte output) SHA-2 family" title="SHA-224 (28 byte output) SHA-2 family"></img></li><li>SHA-256 <img src="../../../../../html/images/iconInfo.png" alt="SHA-256 (32 byte output) SHA-2 family" title="SHA-256 (32 byte output) SHA-2 family"></img></li><li>SHA-384 <img src="../../../../../html/images/iconInfo.png" alt="SHA-384 (48 byte output) SHA-2 family" title="SHA-384 (48 byte output) SHA-2 family"></img></li><li>SHA-512 <img src="../../../../../html/images/iconInfo.png" alt="SHA-512 (64 byte output) SHA-2 family" title="SHA-512 (64 byte output) SHA-2 family"></img></li><li>SHA-512/224 <img src="../../../../../html/images/iconInfo.png" alt="SHA-512/224 (28 byte output) SHA-2 using SHA-512 with truncated output" title="SHA-512/224 (28 byte output) SHA-2 using SHA-512 with truncated output"></img></li><li>SHA-512/256 <img src="../../../../../html/images/iconInfo.png" alt="SHA-512/256 (32 byte output) SHA-2 using SHA-512 with truncated output" title="SHA-512/256 (32 byte output) SHA-2 using SHA-512 with truncated output"></img></li><li>SHA3-224 <img src="../../../../../html/images/iconInfo.png" alt="SHA3-224 (28 byte output) Keccak-based SHA3 family" title="SHA3-224 (28 byte output) Keccak-based SHA3 family"></img></li><li>SHA3-256 <img src="../../../../../html/images/iconInfo.png" alt="SHA3-256 (32 byte output) Keccak-based SHA3 family" title="SHA3-256 (32 byte output) Keccak-based SHA3 family"></img></li><li>SHA3-384 <img src="../../../../../html/images/iconInfo.png" alt="SHA3-384 (48 byte output) Keccak-based SHA3 family" title="SHA3-384 (48 byte output) Keccak-based SHA3 family"></img></li><li>SHA3-512 <img src="../../../../../html/images/iconInfo.png" alt="SHA3-512 (64 byte output) Keccak-based SHA3 family" title="SHA3-512 (64 byte output) Keccak-based SHA3 family"></img></li><li>BLAKE2-160 <img src="../../../../../html/images/iconInfo.png" alt="BLAKE2-160 (20 byte output) Also known as Blake2b" title="BLAKE2-160 (20 byte output) Also known as Blake2b"></img></li><li>BLAKE2-256 <img src="../../../../../html/images/iconInfo.png" alt="BLAKE2-256 (32 byte output) Also known as Blake2b" title="BLAKE2-256 (32 byte output) Also known as Blake2b"></img></li><li>BLAKE2-384 <img src="../../../../../html/images/iconInfo.png" alt="BLAKE2-384 (48 byte output) Also known as Blake2b" title="BLAKE2-384 (48 byte output) Also known as Blake2b"></img></li><li>BLAKE2-512 <img src="../../../../../html/images/iconInfo.png" alt="BLAKE2-512 (64 byte output) Also known as Blake2b" title="BLAKE2-512 (64 byte output) Also known as Blake2b"></img></li></ul></td><td id="description">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.</td></tr><tr><td id="name"><strong>Missing attribute policy</strong></td><td>missing_attr_policy</td><td id="default-value">Allow missing attributes</td><td id="allowable-values"><ul><li>Allow missing attributes <img src="../../../../../html/images/iconInfo.png" alt="Do not route to failure if there are attributes configured for hashing that are not present in the flowfile" title="Do not route to failure if there are attributes configured for hashing that are not present in the flowfile"></img></li><li>Fail if missing attributes <img src="../../../../../html/images/iconInfo.png" alt="Route to failure if there are attributes configured for hashing that are not present in the flowfile" title="Route to failure if there are attributes configured for hashing that are not present in the flowfile"></img></li></ul></td><td id="description">Policy for how the processor handles attributes that are configured for hashing but are not found in the flowfile.</td></tr></table><h3>Dynamic Properties: </h3><p>Supports Sensitive Dynamic Properties: <strong>No</strong></p><p>Dynamic Properties allow the user to specify both the name and value of a property.<table id="dynamic-properties"><tr><th>Name</th><th>Value</th><th>Description</th></tr><tr><td id="name">A flowfile attribute key for attribute inspection</td><td id="value">Attribute Name</td><td>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.<br/><strong>Supports Expression Language: false</strong></td></tr></table></p><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>Used for flowfiles that have a hash value added</td></tr><tr><td>failure</td><td>Used for flowfiles that are missing required attributes</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>&lt;Specified Attribute Name per Dynamic Property&gt;</td><td>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.</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource Considerations:</h3>None specified.</body></html>