A collection of hashing and encoding functions
Decode a base64-encoded string using the "modern" Python interface
New in version 2016.3.0.
CLI Example:
salt '*' hashutil.base64_b64decode 'Z2V0IHNhbHRlZA=='
Encode a string as base64 using the "modern" Python interface.
Among other possible differences, the "modern" encoder does not include newline ('n') characters in the encoded output.
New in version 2016.3.0.
CLI Example:
salt '*' hashutil.base64_b64encode 'get salted'
Decode a base64-encoded string and write the result to a file
New in version 2016.3.0.
CLI Example:
salt '*' hashutil.base64_decodefile instr='Z2V0IHNhbHRlZAo=' outfile='/path/to/binary_file'
Decode a base64-encoded byte-like object using the "modern" Python interface
New in version 3000.
CLI Example:
salt '*' hashutil.base64_decodestring instr='Z2V0IHNhbHRlZAo='
Read a file from the file system and return as a base64 encoded string
New in version 2016.3.0.
Pillar example:
path:
to:
data: |
{{ salt.hashutil.base64_encodefile('/path/to/binary_file') | indent(6) }}
The file.decode
state function can be
used to decode this data and write it to disk.
CLI Example:
salt '*' hashutil.base64_encodefile /path/to/binary_file
Encode a byte-like object as base64 using the "modern" Python interface.
Among other possible differences, the "modern" encoder includes a newline ('n') character after every 76 characters and always at the end of the encoded byte-like object.
New in version 3000.
CLI Example:
salt '*' hashutil.base64_encodestring 'get salted'
Return a checksum digest for a string
A string
md5
The hashing algorithm to use to generate checksums. Valid options: md5, sha256, sha512.
CLI Example:
salt '*' hashutil.digest 'get salted'
Return a checksum digest for a file
A file path
md5
The hashing algorithm to use to generate checksums. Wraps the
hashutil.digest
execution
function.
CLI Example:
salt '*' hashutil.digest_file /path/to/file
Verify a challenging hmac signature against a string / shared-secret for github webhooks.
New in version 2017.7.0.
Returns a boolean if the verification succeeded or failed.
CLI Example:
salt '*' hashutil.github_signature '{"ref":....} ' 'shared secret' 'sha1=bc6550fc290acf5b42283fa8deaf55cea0f8c206'
New in version 3000.
Compute a HMAC SHA256 digest using a string and secret.
CLI Example:
salt '*' hashutil.hmac_compute 'get salted' 'shared secret'
Verify a challenging hmac signature against a string / shared-secret
New in version 2014.7.0.
Returns a boolean if the verification succeeded or failed.
CLI Example:
salt '*' hashutil.hmac_signature 'get salted' 'shared secret' 'eBWf9bstXg+NiP5AOwppB5HMvZiYMPzEM9W5YMm/AmQ='
Generate an md5 hash of a given string
New in version 2014.7.0.
CLI Example:
salt '*' hashutil.md5_digest 'get salted'
Generate an sha256 hash of a given string
New in version 2014.7.0.
CLI Example:
salt '*' hashutil.sha256_digest 'get salted'
Generate an sha512 hash of a given string
New in version 2014.7.0.
CLI Example:
salt '*' hashutil.sha512_digest 'get salted'