-
Notifications
You must be signed in to change notification settings - Fork 4
Description
0x24 is the ASCII code for $, which is the first character of textual MCF hashes. We can use the 0x2 three-bit scheme identifier to identify unmodified textual MCF hashes. This way, schemes which don't have proper BMCF definitions can still be stored as valid BMCF data, albeit not compactly. And it enables the usage of compact BMCF representations in scenarios where not all schemes have BMCF definitions.
This has the side effect of introducing non-canonical encodings; for schemes with BMCF definitions there would be two legal representations: (1) BMCF and (2) MCF as BMCF. Stored hashes would need to be normalized to MCF before being compared. Lookup by hash would likewise be more complicated. But are these common use cases?
0x2 is currently defined for the original $2$ Bcrypt identifier. As far as I know, this is not in use in any modern systems.