Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
1357e942
Commit
1357e942
authored
Jan 05, 2016
by
Johny Mattsson
Browse files
Transferred crypto module documentation.
parent
d7a83c65
Changes
2
Show whitespace changes
Inline
Side-by-side
docs/en/modules/crypto.md
0 → 100644
View file @
1357e942
# crypto Module
The crypto modules provides various functions for working with cryptographic algorithms.
## crypto.hash()
Compute a cryptographic hash of a Lua string.
####Syntax
`hash = crypto.hash(algo, str)`
####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()`
.
####Example
```
lua
print
(
crypto
.
toHex
(
crypto
.
hash
(
"sha1"
,
"abc"
)))
```
__
_
## crypto.hmac()
Compute a HMAC (Hashed Message Authentication Code) signature for a Lua string.
## 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
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.
####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)
####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.
####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
`b64 = crypto.toBase64(binary)`
####Parameters
-
`binary`
: input string to Base64 encode
####Return
A Base64 encoded string.
####Example
```
lua
print
(
crypto
.
toBase64
(
crypto
.
hash
(
"sha1"
,
"abc"
)))
```
__
_
mkdocs.yml
View file @
1357e942
...
...
@@ -30,6 +30,7 @@ pages:
-
Support
:
'
en/support.md'
-
Modules
:
-
'
adc'
:
'
en/modules/adc.md'
-
'
crypto'
:
'
en/modules/crypto.md'
-
'
node'
:
'
en/modules/node.md'
-
'
file'
:
'
en/modules/file.md'
-
'
rtcmem'
:
'
en/modules/rtcmem.md'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment