md5

Use the md5() function to compute the MD5 (Message-Digest Algorithm 5) hash of an input string.

Syntax

md5 ("<input_string>")

Parameters

Name Type Required Description
input_string string Yes The string to be hashed.

Returns

The md5() function returns the MD5 hash value as a string.

Usage notes

  • The function strictly requires a single string input.
  • MD5 is a one-way cryptographic hash function, meaning it is computationally infeasible to reverse the hashing process to obtain the original string from its hash.

Examples

Example 1: Hashing a basic literal string

Goal: Compute the MD5 hash of a simple literal string.

XQL code:

config timeframe = 1d
| dataset = sample_xql_raw
| alter hashed_string = md5("Hello world")
| fields event_id, hashed_string
| limit 3

Explanation: This query adds a new field, hashed_string, which contains the MD5 hash of "Hello world" for each record.

Output:

EVENT_ID HASHED_STRING
101 3e25960a79dbc69b674cd4ec67a72c65
102 3e25960a79dbc69b674cd4ec67a72c65
103 3e25960a79dbc69b674cd4ec67a72c65

Example 2: Hashing an existing string field

Goal: Hash values from an existing string field from the dataset.

XQL code:

config timeframe = 1d
| dataset = sample_xql_raw
| alter hashed_description = md5(event_description)
| fields event_id, event_description, hashed_description
| limit 3

Explanation: The query creates hashed_description by applying the md5() function to the event_description for each record.

Output:

EVENT_ID EVENT_DESCRIPTION HASHED_DESCRIPTION
101 User login successful e7751c911ee0541703e8787729227f2f
102 File access attempt be2254e015ee6b158055c56c2e28a506
103 Network connection established 24b74f0c43666f272a85e13b06385a86

Example 3: Hashing a string derived from a non-string field

Goal: Convert a numeric field to a string and then hash it.

XQL code:

config timeframe = 1d
| dataset = sample_xql_raw
| alter event_id_string = to_string(event_id)
| alter hashed_id = md5(event_id_string)
| fields event_id, event_id_string, hashed_id
| limit 3

Explanation: The event_id is first converted to a string, and then md5() hashes this string representation.

Output:

EVENT_ID EVENT_ID_STRING HASHED_ID
101 101 b16f6b0f199be0c27271457193f5509a
102 102 00d720d2a8b233c4424316d764491024
103 103 19842c38f4d9b40778c1a9386d3d4b68

Example 4: Hashing an empty string

Goal: Show the consistent result of hashing an empty string.

XQL code:

config timeframe = 1d
| dataset = sample_xql_raw
| alter hashed_empty_string = md5("")
| fields event_id, hashed_empty_string
| limit 3

Explanation: Hashing an empty string consistently results in the well-known MD5 hash for an empty string.

Output:

EVENT_ID HASHED_EMPTY_STRING
101 d41d8cd98f00b204e9800998ecf8427e
102 d41d8cd98f00b204e9800998ecf8427e
103 d41d8cd98f00b204e9800998ecf8427e

Example 5: Handling NULL input

Goal: Illustrate the function's behavior when provided with a NULL input.

XQL code:

config timeframe = 1d
| dataset = sample_xql_raw
| alter hashed_null_field = md5(dst_domain)
| fields event_id, dst_domain, hashed_null_field
| limit 5

Explanation: When the input to md5() is NULL, the function consistently returns NULL for the output field.

Output:

EVENT_ID DST_DOMAIN HASHED_NULL_FIELD
101 ec2.amazonaws.com 7f2f11181827457c134012019c4d93e5
102 sts.amazonaws.com fdf15a896d92008779b1248039601d0f
103 www.google.com 121f66cb71158f964092b3a1a36173a7
104 dropbox.com 84b7a137e0c4573130d740a6b47c0b6b
105 NULL NULL