# HashXX

## Purpose

Generates hash for a given string.

### hash32(literal_string) / hash32(literal_string, seed)

> Generates a 32 bit hash of the given string.
>   - Seed is an optional parameter with default = 0.
>   - If seed is not a valid number, then 0 is returned.

### hash64(literal_string) / hash64(literal_string, seed)

> Generates a 64 bit hash of the given string.
>   - Seed is an optional parameter with default = 0.
>   - If seed is not a valid number, then 0 is returned.

Warning

- Default hash implementation is non-crypto.
- To use xxhash enable compile time flag.

## Example

    module(load="fmhash")

    set $.hash = hash64($!msg!field_1 & $!msg!field_2 & $!msg!field_3)
    set $!tag= $syslogtag & $.hash;
    //send out

See also

Hash based sampling

See also

Help with configuring/using `Rsyslog`:

- Mailing list - best route for general questions
- GitHub: rsyslog source project - detailed questions, reporting issues that are believed to be bugs with `Rsyslog`
- Stack Exchange (View, Ask) - experimental support from rsyslog community

See also

Contributing to `Rsyslog`:

- Source project: rsyslog project README.
- Documentation: rsyslog-doc project README

Copyright 2008-2020 Rainer Gerhards (Großrinderfeld), and Others.