@@ -11,14 +11,15 @@ Pure Rust implementation of the Modular Crypt Format (MCF), which is used to sto
11
11
12
12
## About
13
13
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.
19
19
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.
22
23
23
24
Note that MCF has no official specification describing it, and no central registry of identifiers
24
25
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.
72
73
[ // ] : # ( links )
73
74
74
75
[ RustCrypto ] : https://github.com/rustcrypto
76
+ [ `crypt(3)` ] : https://en.wikipedia.org/wiki/Crypt_(C)
75
77
[ PassLib documentation ] : https://passlib.readthedocs.io/en/stable/modular_crypt_format.html
0 commit comments