X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/38ca813a0e312e2768e5b9519f0415cd0aa84781..e0feb3b2e5b436a06bbb04fbc838d1cd6ec95399:/wp-includes/class-phpass.php diff --git a/wp-includes/class-phpass.php b/wp-includes/class-phpass.php index ad474bcc..ccd17963 100644 --- a/wp-includes/class-phpass.php +++ b/wp-includes/class-phpass.php @@ -2,7 +2,7 @@ /** * Portable PHP password hashing framework. * @package phpass - * @since 2.5 + * @since 2.5.0 * @version 0.3 / WordPress * @link http://www.openwall.com/phpass/ */ @@ -31,7 +31,7 @@ * @package phpass * @version 0.3 / WordPress * @link http://www.openwall.com/phpass/ - * @since 2.5 + * @since 2.5.0 */ class PasswordHash { var $itoa64; @@ -39,7 +39,10 @@ class PasswordHash { var $portable_hashes; var $random_state; - function PasswordHash($iteration_count_log2, $portable_hashes) + /** + * PHP5 constructor. + */ + function __construct( $iteration_count_log2, $portable_hashes ) { $this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; @@ -49,7 +52,14 @@ class PasswordHash { $this->portable_hashes = $portable_hashes; - $this->random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compability reasons + $this->random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compatibility reasons + } + + /** + * PHP4 constructor. + */ + public function PasswordHash( $iteration_count_log2, $portable_hashes ) { + self::__construct( $iteration_count_log2, $portable_hashes ); } function get_random_bytes($count) @@ -214,6 +224,10 @@ class PasswordHash { function HashPassword($password) { + if ( strlen( $password ) > 4096 ) { + return '*'; + } + $random = ''; if (CRYPT_BLOWFISH == 1 && !$this->portable_hashes) { @@ -249,11 +263,15 @@ class PasswordHash { function CheckPassword($password, $stored_hash) { + if ( strlen( $password ) > 4096 ) { + return false; + } + $hash = $this->crypt_private($password, $stored_hash); if ($hash[0] == '*') $hash = crypt($password, $stored_hash); - return $hash == $stored_hash; + return $hash === $stored_hash; } }