original_string: private function getResponse(string $secret, string $challenge): string
      {
          if (\strlen($secret) > 64) {
              $secret = pack('H32', md5($secret));
          }
  
          if (\strlen($secret) < 64) {
              $secret = str_pad($secret, 64, \chr(0));
          }
  
          $kipad = substr($secret, 0, 64) ^ str_repeat(\chr(0x36), 64);
          $kopad = substr($secret, 0, 64) ^ str_repeat(\chr(0x5C), 64);
  
          $inner = pack('H32', md5($kipad.$challenge));
          $digest = md5($kopad.$inner);
  
          return $digest;
      }
code: private function getResponse(string $secret, string $challenge): string
      {
          if (\strlen($secret) > 64) {
              $secret = pack('H32', md5($secret));
          }
  
          if (\strlen($secret) < 64) {
              $secret = str_pad($secret, 64, \chr(0));
          }
  
          $kipad = substr($secret, 0, 64) ^ str_repeat(\chr(0x36), 64);
          $kopad = substr($secret, 0, 64) ^ str_repeat(\chr(0x5C), 64);
  
          $inner = pack('H32', md5($kipad.$challenge));
          $digest = md5($kopad.$inner);
  
          return $digest;
      }
code_tokens: private function getResponse ( string $ secret , string $ challenge ) : string { if ( \ strlen ( $ secret ) > 64 ) { $ secret = pack ( 'H32' , md5 ( $ secret ) ) ; } if ( \ strlen ( $ secret ) < 64 ) { $ secret = str_pad ( $ secret , 64 , \ chr ( 0 ) ) ; } $ kipad = substr ( $ secret , 0 , 64 ) ^ str_repeat ( \ chr ( 0x36 ) , 64 ) ; $ kopad = substr ( $ secret , 0 , 64 ) ^ str_repeat ( \ chr ( 0x5C ) , 64 ) ; $ inner = pack ( 'H32' , md5 ( $ kipad . $ challenge ) ) ; $ digest = md5 ( $ kopad . $ inner ) ; return $ digest ; }
docstring: Generates a CRAM-MD5 response from a server challenge.
docstring_tokens: Generates a CRAM - MD5 response from a server challenge .