diff --git a/docs/en/modules/crypto.md b/docs/en/modules/crypto.md index 3a101ed5..665a6b8e 100644 --- a/docs/en/modules/crypto.md +++ b/docs/en/modules/crypto.md @@ -6,104 +6,105 @@ The crypto modules provides various functions for working with cryptographic alg Compute a cryptographic hash of a Lua string. -####Syntax +#### Syntax `hash = crypto.hash(algo, str)` -####Parameters - - `algo`: The hash algorithm to use, case insensitive string +#### Parameters +`algo` the hash algorithm to use, case insensitive string Supported hash algorithms are: - - MD2 (not available by default, has to be explicitly enabled in user_config.h) - - MD5 - - SHA1 - - SHA256, SHA384, SHA512 (unless disabled in user_config.h) -####Returns -A binary string containing the message digest. To obtain the textual version (ASCII hex characters), please use `crypto.toHex()`. +- MD2 (not available by default, has to be explicitly enabled in `app/include/user_config.h`) +- MD5 +- SHA1 +- SHA256, SHA384, SHA512 (unless disabled in `app/include/user_config.h`) -####Example +#### Returns +A binary string containing the message digest. To obtain the textual version (ASCII hex characters), please use [`crypto.toHex()`](#cryptotohex ). + +#### Example ```lua print(crypto.toHex(crypto.hash("sha1","abc"))) ``` -___ + ## crypto.hmac() -Compute a HMAC (Hashed Message Authentication Code) signature for a Lua string. +Compute a [HMAC](https://en.wikipedia.org/wiki/Hash-based_message_authentication_code) (Hashed Message Authentication Code) signature for a Lua string. -## Syntax +#### Syntax `signature = crypto.hmac(algo, str, key)` -####Parameters - - algo: hash algorithm to use, case insensitive string - - str: data to calculate the hash for - - key: key to use for signing, may be a binary string +#### Parameters +- `algo` hash algorithm to use, case insensitive string +- `str` data to calculate the hash for +- `key` key to use for signing, may be a binary string Supported hash algorithms are: - - MD2 (not available by default, has to be explicitly enabled in user_config.h) - - MD5 - - SHA1 - - SHA256, SHA384, SHA512 (unless disabled in user_config.h) -####Returns -A binary string containing the HMAC signature. Use `crypto.toHex()` to obtain the textual version. +- MD2 (not available by default, has to be explicitly enabled in `app/include/user_config.h`) +- MD5 +- SHA1 +- SHA256, SHA384, SHA512 (unless disabled in `app/include/user_config.h`) -####Example +#### Returns +A binary string containing the HMAC signature. Use [`crypto.toHex()`](#cryptotohex ) to obtain the textual version. + +#### Example ```lua print(crypto.toHex(crypto.hmac("sha1","abc","mysecret"))) ``` -___ + ## crypto.mask() Applies an XOR mask to a Lua string. Note that this is not a proper cryptographic mechanism, but some protocols may use it nevertheless. -####Syntax -masked = crypto.mask (message, mask) +#### Syntax +`crypto.mask(message, mask)` -####Parameters - - message: message to mask - - mask = the mask to apply, repeated if shorter than the message +#### Parameters +- `message` message to mask +- `mask` the mask to apply, repeated if shorter than the message -####Returns -The masked message, as a binary string. Use `crypto.toHex()` to get a textual representation of it. +#### Returns +The masked message, as a binary string. Use [`crypto.toHex()`](#cryptotohex) to get a textual representation of it. -####Example +#### Example ```lua print(crypto.toHex(crypto.mask("some message to obscure","X0Y7"))) ``` -___ -## crypto.toHex() -Provides an ASCII hex representation of a (binary) Lua string. Each byte in the input string is represented as two hex characters in the output. - -####Syntax -`hexstr = crypto.toHex(binary)` - -####Parameters - - `binary`: input string to get hex representation for - -####Returns -An ASCII hex string. - -####Example -```lua -print(crypto.toHex(crypto.hash("sha1","abc"))) -``` -___ ## crypto.toBase64() Provides a Base64 representation of a (binary) Lua string. -####Syntax +#### Syntax `b64 = crypto.toBase64(binary)` -####Parameters - - `binary`: input string to Base64 encode +#### Parameters +`binary` input string to Base64 encode -####Return +#### Return A Base64 encoded string. -####Example +#### Example ```lua print(crypto.toBase64(crypto.hash("sha1","abc"))) ``` -___ + +## crypto.toHex() + +Provides an ASCII hex representation of a (binary) Lua string. Each byte in the input string is represented as two hex characters in the output. + +#### Syntax +`hexstr = crypto.toHex(binary)` + +#### Parameters +`binary` input string to get hex representation for + +#### Returns +An ASCII hex string. + +#### Example +```lua +print(crypto.toHex(crypto.hash("sha1","abc"))) +```