+Length, -Bytes, +Options)Concentrate possibly dispersed entropy of Data and then
expand it to the desired length. Bytes is unified with a list
of bytes of length Length, and is suitable as input
keying material and initialization vectors to the symmetric encryption
Admissible options are:
- A hashing algorithm as specified to crypto_data_hash/3.
The default is a cryptographically secure algorithm. If you specify a
variable, then it is unified with the algorithm that was used.
- Optional context and application specific information, specified as an
atom, string or list of bytes. The default is the zero length
- Optionally, a list of bytes that are used as salt. The default is
utf8 (default) or
octet, denoting the
representation of Data as in crypto_data_hash/3.
The info/1 option can be used to
generate multiple keys from a single master key, using for example
values such as
iv, or the name of a file that is to be encrypted.
This predicate requires OpenSSL 1.1.0 or greater.
- See also
to obtain a suitable salt.