Skip to content

base64ct: deprecate Base64Crypt#2135

Merged
tarcieri merged 1 commit intomasterfrom
base64ct/deprecate-base64crypt
Dec 24, 2025
Merged

base64ct: deprecate Base64Crypt#2135
tarcieri merged 1 commit intomasterfrom
base64ct/deprecate-base64crypt

Conversation

@tarcieri
Copy link
Copy Markdown
Member

Closes #2133

Base64ShaCrypt is, as far as I can tell, the standard Base64 alphabet used by all crypt(3) hashes. The only exception is bcrypt which uses a completely different alphabet (./A-Za-z0-9).

As far as I can tell all algorithms that actually use the ./0-9A-Za-z alphabet do so with the little endian packing implemented in Base64ShaCrypt. I'm uncertain about the provenance of the test vectors for Base64Crypt but as far as I can tell it's actually a non-standard packing for this particular alphabet.

As such, this deprecates Base64Crypt, steering people towards Base64ShaCrypt for now. Perhaps in the future we can find better names.

Closes #2133

`Base64ShaCrypt` is, as far as I can tell, the standard Base64 alphabet
used by all `crypt(3)` hashes. The only exception is `bcrypt` which uses
a completely different alphabet (`./A-Za-z0-9`).

As far as I can tell all algorithms that actually use the `./0-9A-Za-z`
alphabet do so with the little endian packing implemented in
`Base64ShaCrypt`. I'm uncertain about the provenance of the test vectors
for `Base64Crypt` but as far as I can tell it's actually a non-standard
packing for this particular alphabet.

As such, this deprecates `Base64Crypt`, steering people towards
`Base64ShaCrypt` for now. Perhaps in the future we can find better
names.
@tarcieri tarcieri merged commit 23b3622 into master Dec 24, 2025
53 checks passed
@tarcieri tarcieri deleted the base64ct/deprecate-base64crypt branch December 24, 2025 23:51
@tarcieri tarcieri mentioned this pull request Jan 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

base64ct: deprecate Base64Crypt?

1 participant