summaryrefslogtreecommitdiffstats
path: root/source/rainerscript/functions/mo-hashXX.rst
blob: 61bb69a1f4f4aef17e36e4af3e376f31f62e79cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
******
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
=======

.. code-block:: none

  module(load="fmhash")

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

.. seealso::
  :doc:`Hash based sampling<../../tutorials/hash_sampling>`