Make WordPress Core

Ticket #29518: 29518.diff

File 29518.diff, 1.6 KB (added by nacin, 12 years ago)
  • wp-includes/pluggable.php

     
    669669        $pass_frag = substr($user->user_pass, 8, 4);
    670670
    671671        $key = wp_hash( $username . '|' . $pass_frag . '|' . $expiration . '|' . $token, $scheme );
    672         $hash = hash_hmac( 'sha256', $username . '|' . $expiration . '|' . $token, $key );
     672        $algo = function_exists( 'hash' ) ? 'sha256' : 'sha1';
     673        $hash = hash_hmac( $algo, $username . '|' . $expiration . '|' . $token, $key );
    673674
    674675        if ( ! hash_equals( $hash, $hmac ) ) {
    675676                /**
     
    734735        $pass_frag = substr($user->user_pass, 8, 4);
    735736
    736737        $key = wp_hash( $user->user_login . '|' . $pass_frag . '|' . $expiration . '|' . $token, $scheme );
    737         $hash = hash_hmac( 'sha256', $user->user_login . '|' . $expiration . '|' . $token, $key );
     738        $algo = function_exists( 'hash' ) ? 'sha256' : 'sha1';
     739        $hash = hash_hmac( $algo, $user->user_login . '|' . $expiration . '|' . $token, $key );
    738740
    739741        $cookie = $user->user_login . '|' . $expiration . '|' . $token . '|' . $hash;
    740742
  • wp-includes/session.php

     
    6161         * @return string A hash of the session token (a verifier).
    6262         */
    6363        final private function hash_token( $token ) {
    64                 return hash( 'sha256', $token );
     64                if ( function_exists( 'hash' ) ) {
     65                        return hash( 'sha256', $token );
     66                } else {
     67                        return sha1( $token );
     68                }
    6569        }
    6670
    6771        /**