Changeset 59893 for trunk/src/wp-includes/pluggable.php
- Timestamp:
- 02/28/2025 06:51:44 PM (8 months ago)
- File:
-
- 1 edited
-
trunk/src/wp-includes/pluggable.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/pluggable.php
r59858 r59893 2725 2725 * @since 6.8.0 Passwords in WordPress are now hashed with bcrypt by default. A 2726 2726 * password that wasn't hashed with bcrypt will be checked with phpass. 2727 * Passwords hashed with md5 are no longer supported.2728 2727 * 2729 2728 * @global PasswordHash $wp_hasher phpass object. Used as a fallback for verifying … … 2743 2742 global $wp_hasher; 2744 2743 2745 $check = false;2746 2747 // If the hash is still md5 or otherwise truncated then invalidate it.2748 2744 if ( strlen( $hash ) <= 32 ) { 2749 /** 2750 * Filters whether the plaintext password matches the hashed password. 2751 * 2752 * @since 2.5.0 2753 * @since 6.8.0 Passwords are now hashed with bcrypt by default. 2754 * Old passwords may still be hashed with phpass. 2755 * 2756 * @param bool $check Whether the passwords match. 2757 * @param string $password The plaintext password. 2758 * @param string $hash The hashed password. 2759 * @param string|int $user_id Optional ID of a user associated with the password. 2760 * Can be empty. 2761 */ 2762 return apply_filters( 'check_password', $check, $password, $hash, $user_id ); 2763 } 2764 2765 if ( ! empty( $wp_hasher ) ) { 2745 // Check the hash using md5 regardless of the current hashing mechanism. 2746 $check = hash_equals( $hash, md5( $password ) ); 2747 } elseif ( ! empty( $wp_hasher ) ) { 2766 2748 // Check the password using the overridden hasher. 2767 2749 $check = $wp_hasher->CheckPassword( $password, $hash ); 2768 2750 } elseif ( strlen( $password ) > 4096 ) { 2751 // Passwords longer than 4096 characters are not supported. 2769 2752 $check = false; 2770 2753 } elseif ( str_starts_with( $hash, '$wp' ) ) { … … 2781 2764 } 2782 2765 2783 /** This filter is documented in wp-includes/pluggable.php */ 2766 /** 2767 * Filters whether the plaintext password matches the hashed password. 2768 * 2769 * @since 2.5.0 2770 * @since 6.8.0 Passwords are now hashed with bcrypt by default. 2771 * Old passwords may still be hashed with phpass or md5. 2772 * 2773 * @param bool $check Whether the passwords match. 2774 * @param string $password The plaintext password. 2775 * @param string $hash The hashed password. 2776 * @param string|int $user_id Optional ID of a user associated with the password. 2777 * Can be empty. 2778 */ 2784 2779 return apply_filters( 'check_password', $check, $password, $hash, $user_id ); 2785 2780 }
Note: See TracChangeset
for help on using the changeset viewer.