hash_sha512

This page explains how to use the hash_sha512 function in APL.

Introduction

The hash_sha512 function returns the SHA-512 hash of a scalar value as a 128-character hexadecimal string. Use it when your security policy or compliance requirements demand the strongest standard hash available, or when you need a longer digest than SHA-256 provides.

SHA-512 produces a 512-bit digest, making it the most collision-resistant of the SHA hash functions available in APL. It's well suited for high-security fingerprinting, long-term integrity verification, and compliance use cases. For most everyday hashing tasks, hash_sha256 is sufficient.

Usage

Syntax

hash_sha512(source)

Parameters

NameTypeRequiredDescription
sourcescalarYesThe value to hash. APL converts it to a string before hashing.

Returns

The SHA-512 hash of source as a 128-character lowercase hexadecimal string.

Use case examples

Anonymize user IDs with a maximum-strength hash before publishing compliance-sensitive usage summaries.

Query

['sample-http-logs']
| extend hashed_id = hash_sha512(id)
| summarize request_count = count() by hashed_id
| top 5 by request_count

Run in Playground

Output

hashed_idrequest_count
0878a61b503dd5a9fe9ea3545d6d3bd41c3b50a47f3594cb8bbab3e47558d68fc8fcc409cd0831e91afc4e609ef9da84e0696c50354ad86b25f2609efef6a834128
95c6eacdd41170b129c3c287cfe088d4fafea34e371422b94eb78b9653a89d4132af33ef39dd6b3d80e18c33b21ae167ec9e9c2d820860689c647ffb725498c497
cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e85

The query uses SHA-512 to produce maximum-strength anonymized user keys before aggregating request counts.

Fingerprint span IDs with SHA-512 for use in high-security audit trails.

Query

['otel-demo-traces']
| extend hashed_span = hash_sha512(span_id)
| project _time, ['service.name'], hashed_span, duration
| take 10

Run in Playground

Output

_timeservice.namehashed_spanduration
2024-01-15 10:23:01frontend0878a61b503dd5a9fe9ea3545d6d3bd41c3b50a47f3594cb8bbab3e47558d68f...320ms
2024-01-15 10:23:02checkout95c6eacdd41170b129c3c287cfe088d4fafea34e371422b94eb78b9653a89d41...875ms
2024-01-15 10:23:03cartcf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce...140ms

The query outputs SHA-512 fingerprints of span IDs for external audit systems that require maximum-length digests.

  • hash_sha256: Returns a 64-character SHA-256 hex digest. Use hash_sha256 when SHA-256 strength is sufficient and you prefer shorter digests.
  • hash_sha1: Returns a 40-character SHA-1 hex digest. SHA-1 is deprecated for security use; prefer hash_sha512.
  • hash_md5: Returns a 32-character MD5 hex digest. Not cryptographically safe; use hash_sha512 for security contexts.
  • hash: Returns a signed 64-bit integer hash. Use hash when you need a compact numeric key rather than a hex string.

Other query languages