blob: dd357e76d090095991122c4ecd0de30025df86fe [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>CryptographicHashContent</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;">CryptographicHashContent</h1><h2>Description: </h2><p>Calculates a cryptographic hash value for the flowfile content 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>content, hash, sha, blake2, md5, 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>Fail if the content is empty</strong></td><td>fail_when_empty</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Route to failure if the content is empty. While hashing an empty value is valid, some flows may want to detect empty input.</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 hash algorithm to use. Note that not all of the algorithms available are recommended for use (some are provided for legacy compatibility). There are many things to consider when picking an algorithm; it is recommended to use the most secure algorithm possible.</td></tr></table><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 have no content if the 'fail on empty' setting is enabled</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>content_&lt;algorithm&gt;</td><td>This processor adds an attribute whose value is the result of hashing the flowfile content. The name of this attribute is specified by the value of the algorithm, e.g. 'content_SHA-256'.</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>