- Querying Your Data
- SQL Reference
- Hash Functions
Hash Functions
This page covers the various hash functions supported by Rockset.
Note that the functions in this page take bytes
arguments and return bytes
values. You may pass
in a string
as argument (it will be encoded as UTF-8), and you may convert the returned bytes
to
string
using, for instance, TO_HEX()
.
#Hash Functions
#HASH
HASH(x, digest)
Computes the hash of the bytes
value x
using digest
, where digest
is one of the OpenSSL digest methods md5
, sha1
, sha256
, or sha512
(case insensitive).
SELECT
HASH('foo', 'md5')
'rL0Y20zC+Fzt72VPzMSk2A=='
SELECT
HASH('foo', 'sha1')
'C+7Hteo/D9vJXQ3UfzxbwnXaijM='
SELECT
HASH('foo', 'sha256')
'LCa0a2j/xo/5m0U8HTBBNBNCLXBkg7+g+YpeiGJm564='
SELECT
HASH('foo', 'sha512')
'9/u6bgY2+JDlb7vzKD5STG+jIErimDgtYkdB0NxmODJuKCxBvl5CVNiCB3LFUYosWowMf37aGVlKfrU5RT4e1w=='
#MD5
MD5(x)
Computes the MD5 hash of the bytes
value x
.
SELECT
MD5('foo')
'rL0Y20zC+Fzt72VPzMSk2A=='
SELECT
MD5('')
'1B2M2Y8AsgTpgAmY7PhCfg=='
SELECT
MD5(null)
null
#SHA1
SHA1(x)
Computes the SHA1 hash of the bytes
value x
.
SELECT
SHA1('foo')
'C+7Hteo/D9vJXQ3UfzxbwnXaijM='
SELECT
SHA1('')
'2jmj7l5rSw0yVb/vlWAYkK/YBwk='
SELECT
SHA1(null)
null
#SHA256
SHA256(x)
Computes the SHA256 hash of the bytes
value x
.
SELECT
SHA256('foo')
'LCa0a2j/xo/5m0U8HTBBNBNCLXBkg7+g+YpeiGJm564='
SELECT
SHA256('')
'47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='
SELECT
SHA256(null)
null
#SHA512
SHA512(x)
Computes the SHA512 hash of the bytes
value x
.
SELECT
SHA512('foo')
'9/u6bgY2+JDlb7vzKD5STG+jIErimDgtYkdB0NxmODJuKCxBvl5CVNiCB3LFUYosWowMf37aGVlKfrU5RT4e1w=='
SELECT
SHA512('')
'z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg=='
SELECT
SHA512(null)
null
#XXH3_64
XXH3_64(x[, seed])
Computes the 64 bit XXH3 hash of x
using seed
as the seed. seed
is optional, default value is 0.
SELECT
XXH3_64('foo', 1122)
2259966778267089194
SELECT
XXH3_64('', 1122)
4199586300600163007
SELECT
XXH3_64(null, 1122)
null
#HMAC Functions
#HMAC_MD5
HMAC_MD5(x, key)
Computes the MD5 HMAC of the bytes
value x
using key
as the key.
SELECT
HMAC_MD5('foo', 'bar')
'Mbbbnl60rdtC8abKBzZ63A=='
SELECT
HMAC_MD5('foo', null)
null
#HMAC_SHA1
HMAC_SHA1(x, key)
Computes the SHA1 HMAC of the bytes
value x
using key
as the key.
SELECT
HMAC_SHA1('foo', 'bar')
'hdFVxV7ShqMAvRzxJN4I2H6RTzo='
SELECT
HMAC_SHA1('foo', null)
null
#HMAC_SHA256
HMAC_SHA256(x, key)
Computes the SHA256 HMAC of the bytes
value x
using key
as the key.
SELECT
HMAC_SHA256('foo', 'bar')
'FHkzIYqqvAuLEKKzpcNGhMjZQ0G88QpHNtxycPd0GFE='
SELECT
HMAC_SHA256('foo', null)
null
#HMAC_SHA512
HMAC_SHA512(x, key)
Computes the SHA512 HMAC of the bytes
value x
using key
as the key.
SELECT
HMAC_SHA512('foo', 'bar')
'JCV9chBYKmXHMexVFZyBhMwkwCSJRT5YWH9x9EwjotYbS3IVSonRey1JRIqEUuoGb0/FaivOrUXAiFcv/M2z2A=='
SELECT
HMAC_SHA512('foo', null)
null
#HMAC
HMAC(x, key, digest)
Computes the HMAC of the bytes
value x
using key
as the key and digest
as the digest method, where digest
is is one of the OpenSSL digest methods md5
, sha1
, sha256
, or sha512
(case insensitive).
SELECT
HMAC('foo', 'bar', 'md5')
'Mbbbnl60rdtC8abKBzZ63A=='
SELECT
HMAC('foo', 'bar', 'sha256')
'FHkzIYqqvAuLEKKzpcNGhMjZQ0G88QpHNtxycPd0GFE='