Field Hasher

支持的管道类型:

  •  Data Collector

Field Hasher处理器使用一种算法对数据进行编码。使用处理器对高度敏感的数据进行编码。例如,您可以使用Field Hasher处理器对社会安全号或信用卡号进行编码。

Field Hasher提供了几种对单个字段或整个记录进行散列的方法。您可以哈希任何可以转换为字符串的字段。产生的哈希是一个字符串值。

您可以将Field Hasher处理器配置为使用MD5,SHA1,SHA-256,SHA-512或MurmurHash3 128来哈希字段值。您可以选择在哈希之前将单个字段分隔符添加到字段中。

散列方法

Field Hasher提供了几种散列数据的方法。当您对字段进行多次哈希处理时,Field Hasher在生成下一个哈希时将使用现有哈希。

字段哈希按以下顺序进行。使用多种哈希方法时,请注意顺序会影响数据的哈希方式:

  1. Hash in Place -Field Hasher用散列值替换字段中的原始数据。

    您可以使用相同的算法指定多个要散列的字段。您还可以使用不同的算法来哈希不同的字段集。

  2. Hash to Target -Field Hasher对字段中的数据进行哈希处理并将其写入指定的字段、头属性或两者。它将原始数据保留在原位。

    如果指定的目标字段或属性不存在,Field Hasher会创建它。

    如果您指定使用相同算法对多个字段进行哈希处理,则Field Hasher会将字段哈希在一起。

    如果已对任何字段进行哈希处理,则Field Hasher将使用现有的哈希值来生成新的哈希值。

  3. Hash Record -Field Hasher对记录进行哈希处理并将其写入指定的字段、头属性或两者。您可以在哈希中包含记录头。

    如果指定的目标字段或属性不存在,Field Hasher会创建它。

    如果记录包含已被哈希的字段,则哈希字段在对记录进行哈希处理时将使用哈希值。

字段分隔符

您可以配置Field Hasher处理器,将字段分隔符添加到要哈希的所有字段的末尾。当您将多个字段哈希到一个字段或哈希整个记录时,可能需要添加字段分隔符。

当您使用字段分隔符时,Field Hasher处理器将字符添加到要哈希的每个字段的末尾,然后再对其进行哈希处理,因此字段分隔符将与该字段一起进行哈希处理。注意,由于将字段分隔符添加到每个字段,因此一组字段中的最后一个字段或记录中的最后一个字段在哈希中也包含字段分隔符。

启用使用字段分隔符后,可以选择字符选项之一——Tab,分号,逗号和空格——或选择Other并输入任何UTF-8字符的代码。

List,Map和List-Map字段

Field Hasher不会哈希列表、映射或列表映射字段,但是可以哈希列表、映射和列表映射字段中的字段数据。要对列表、映射或列表映射字段中的数据进行哈希处理,请选择包含要哈希的实际数据的字段。

在对整个记录进行哈希处理时,Field Hasher会对列表、映射和列表映射字段中的数据进行哈希处理。

配置Field Hasher

配置Field Hasher以编码敏感数据。您可以哈希整个记录或特定字段。您还可以将字段哈希在一起到目标字段或属性头。
  1. 在“Properties”面板的“General选项卡上,配置以下属性:
    一般属性 描述
    Name 阶段名。
    Description 可选说明。
    Required Fields 必须包含用于将记录传递到阶段的记录的数据的字段。

    提示:您可能包括阶段使用的字段。

    根据为管道配置的错误处理,处理不包括所有必填字段的记录。

    Preconditions 必须评估为TRUE的条件才能使记录进入处理阶段。单击 添加以创建其他前提条件。

    根据为该阶段配置的错误处理,处理不满足所有前提条件的记录。

    On Record Error 该阶段的错误记录处理:

    • Discard-放弃记录。
    • To Error-将记录发送到管道以进行错误处理。
    • Stop Pipeline-停止管道。对群集管道无效。
  2. 要对字段进行哈希处理,请单击“Hash Field选项卡,并可以选择配置字段分隔符:
    哈希字段属性 描述
    Field Separator 用作字段分隔符的单个字符。已配置的字段分隔符在哈希之前添加到所有字段的末尾。选择以下选项之一:

    • Tab
    • Semicolon
    • Comma
    • Space
    • Other

    选择其他时,输入要使用的UTF-8字符的字符代码。

  3. 若要对字段进行哈希处理,请为要使用的每种哈希类型配置以下“Hash in Place属性。单击添加以使用其他哈希类型。
    散列属性  描述
    Fields to Hash 一个或多个要使用相同哈希类型进行哈希的字段。

    您可以指定单个字段,也可以使用字段路径表达式来指定一组字段。

    Hash Type 用于哈希字段值的算法:

    • MD5-产生128位(16字节)的哈希值,通常以文本格式表示为32位十六进制数字。
    • SHA1-产生一个160位(20字节)的哈希值。
    • SHA256-产生256位(32字节)的哈希值。
    • SHA512-产生512位(64字节)的哈希值。
    • MURMUR3_128-产生一个128位(16字节)的哈希值。
  4. 要将一个或多个字段哈希在一起并将它们写入字段或属性头,请配置以下“Hash to Target” 属性。单击添加以哈希其他字段。
    哈希到目标属性  描述
    Fields to Hash 一个或多个要散列并写入目标字段或头属性的字段。

    如果您输入多个字段,则处理器会将它们哈希在一起。

    您可以指定单个字段,也可以使用字段路径表达式来指定一组字段。

    Hash Type 用于哈希字段值的算法:

    • MD5-产生128位(16字节)的哈希值,通常以文本格式表示为32位十六进制数字。
    • SHA1-产生一个160位(20字节)的哈希值。
    • SHA256-产生256位(32字节)的哈希值。
    • SHA512-产生512位(64字节)的哈希值。
    • MURMUR3_128-产生一个128位(16字节)的哈希值。
    Target Field 记录中用于哈希数据的字段。如果该字段不存在,则Field Hasher将创建该字段。
    Header Attribute 记录头中的属性,用于哈希数据。如果属性不存在,Field Hasher会创建该属性。
  5. 要配置字段级错误处理,请在“Hash Field选项卡上配置以下属性:
    字段错误处理属性 描述
    On Field Issue 确定记录中缺少要哈希的指定字段,包含空值或者是List,Map或List-Map数据类型时要采取的措施:

    • Include without Processing-从记录中删除目标字段并继续进行处理。
    • Send to Error-将记录传递到管道以进行错误处理。
  6. 要对整个记录进行哈希处理,请在“Hash Record选项卡上配置以下属性:
    哈希记录属性  描述
    Hash Entire Record 散列整个记录,并将其写入目标字段,属性头或两者。
    Include Record Header 在哈希中包含记录头。
    Field Separator 用作字段分隔符的单个字符。已配置的字段分隔符在哈希之前添加到所有字段的末尾。选择以下选项之一:

    • Tab
    • Semicolon
    • Comma
    • Space
    • Other

    选择其他时,输入要使用的UTF-8字符的字符代码。

    Target Field 记录中用于哈希数据的字段。如果该字段不存在,则Field Hasher将创建该字段。
    eader Attribute 记录头中的属性,用于哈希数据。如果属性不存在,Field Hasher会创建该属性。