Skip to content

Commit 47e8b0e

Browse files
committed
mcf: add crypt(3) reference to README.md
1 parent c746b1e commit 47e8b0e

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

mcf/README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ Pure Rust implementation of the Modular Crypt Format (MCF), which is used to sto
1111

1212
## About
1313

14-
Modular Crypt Format is the name for a bespoke set of formats that take the form `${id}$...`, where
15-
`{id}` is a short numeric or lower case alphanumeric algorithm identifier optionally containing a
16-
hyphen character (`-`), followed by `$` as a delimiter, further followed by an algorithm-specific
17-
serialization of a password hash, typically using a variant (often an algorithm-specific variant)
18-
of Base64.
14+
Modular Crypt Format is the name for a bespoke set of password hash formats associated with the
15+
POSIX [`crypt(3)`] function which take the form `${id}$...`, where `{id}` is a short numeric or
16+
lower case alphanumeric algorithm identifier optionally containing a hyphen character (`-`),
17+
followed by `$` as a delimiter, further followed by an algorithm-specific serialization of a
18+
password hash, typically using a variant (often an algorithm-specific variant) of Base64.
1919

20-
This algorithm-specific serialization contains one or more fields `${first}[${second}]...`, where
21-
each field only uses characters in the regexp range `[A-Za-z0-9./+=,\-]`.
20+
This algorithm-specific serialization contains one or more fields `${first}[${second}]...`, where
21+
each field only uses characters in the regexp range `[A-Za-z0-9./+=,\-]`. Usually, these include
22+
a salt and the output of a password hashing function.
2223

2324
Note that MCF has no official specification describing it, and no central registry of identifiers
2425
exists, nor are there more specific rules for the format than outlined above. MCF is more of an
@@ -72,4 +73,5 @@ dual licensed as above, without any additional terms or conditions.
7273
[//]: # (links)
7374

7475
[RustCrypto]: https://github.com/rustcrypto
76+
[`crypt(3)`]: https://en.wikipedia.org/wiki/Crypt_(C)
7577
[PassLib documentation]: https://passlib.readthedocs.io/en/stable/modular_crypt_format.html

0 commit comments

Comments
 (0)