Você sabia que o WordPress aceita md5 mas utiliza sua própria criptografia para senhas?

Você sabia que o WordPress aceita md5 mas utiliza sua própria criptografia para senhas?

O WordPress possui duas formas de validação de senhas ao logar. Aceita MD5 e sua prórpria criptografia.

Sim, você pode inserir uma senha md5 no direto na base de dados que ele vai entender, a diferença é que quando vc utilizar uma senha md5 automaticamente ele vai autenticar e atualizar para criptografia mais recent.

Na versão 2.5.0 lançada em 27 de março de 2008 se criou a classe responsável pela nova criptografia, chamada de PasswordHash utilizando pacote phpass utilizando solar at openwall.com.

Com  implementação dessa nova classe e para continuar dando suporte a forma de autenticação antiga utilizando md5 foi criado o método wp_check_password identificar os dois tipos de senhas.

Esse é o método que faz a validação com md5 ou passa para o método moderno.

function wp_check_password( $password, $hash, $user_id = '' ) {

   global $wp_hasher;

   // If the hash is still md5...
   if ( strlen( $hash ) <= 32 ) {
      $check = hash_equals( $hash, md5( $password ) );
      if ( $check && $user_id ) {
         // Rehash using new hash.
         wp_set_password( $password, $user_id );
         $hash = wp_hash_password( $password );
      }

     ...
      return apply_filters( 'check_password', $check, $password, $hash, $user_id );
   }

   ...
   if ( empty( $wp_hasher ) ) {
      // By default, use the portable hash from phpass
      $wp_hasher = new PasswordHash( 8, true );
   }

   $check = $wp_hasher->CheckPassword( $password, $hash );

   /** This filter is documented in wp-includes/pluggable.php */
   return apply_filters( 'check_password', $check, $password, $hash, $user_id );
}


Leave a reply