Skip to content

feat: add WORDPRESS68 hash algorithm for WordPress 6.8+ - #3145

Open
HotWaterFlask wants to merge 1 commit into
AuthMe:masterfrom
HotWaterFlask:feat/wordpress6.8+PasswordHash
Open

HotWaterFlask wants to merge 1 commit into
AuthMe:masterfrom
HotWaterFlask:feat/wordpress6.8+PasswordHash

Conversation

@HotWaterFlask

Copy link
Copy Markdown

WordPress 6.8 switched password hashing to bcrypt with an HMAC-SHA384 pre-hash step and stores hashes with a "$wp" prefix (e.g. "$wp$2y$10$..."). The existing WORDPRESS algorithm only handles the legacy phpass format ("$P$"), so passwords written by current WordPress versions cannot be verified.

WORDPRESS68 implements the same scheme: "$wp" + bcrypt of base64(HMAC-SHA384(password, "wp-sha384")) with cost 10.

comparePassword only accepts the "$wp" format; other formats are expected to be configured via legacyHashes (WORDPRESS for "$P$", BCRYPT2Y for "$2y$"), which AuthMe upgrades to WORDPRESS68 upon a successful login.

Adds Wordpress68Test (generated with the tools task) and regenerated docs.

WordPress 6.8 switched password hashing to bcrypt with an HMAC-SHA384
pre-hash step and stores hashes with a "$wp" prefix (e.g. "$wp$2y$10$...").
The existing WORDPRESS algorithm only handles the legacy phpass format
("$P$"), so passwords written by current WordPress versions cannot be verified.

WORDPRESS68 implements the same scheme: "$wp" + bcrypt of
base64(HMAC-SHA384(password, "wp-sha384")) with cost 10.

comparePassword only accepts the "$wp" format; other formats are expected to be
configured via legacyHashes (WORDPRESS for "$P$", BCRYPT2Y for "$2y$"), which
AuthMe upgrades to WORDPRESS68 upon a successful login.

Adds Wordpress68Test (generated with the tools task) and regenerated docs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant