Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. CramMd5Authenticator.php

function CramMd5Authenticator::getResponse

Generates a CRAM-MD5 response from a server challenge.

1 call to CramMd5Authenticator::getResponse()
CramMd5Authenticator::authenticate in vendor/symfony/mailer/Transport/Smtp/Auth/CramMd5Authenticator.php

File

vendor/symfony/mailer/Transport/Smtp/Auth/CramMd5Authenticator.php, line 43

Class

CramMd5Authenticator
Handles CRAM-MD5 authentication.

Namespace

Symfony\Component\Mailer\Transport\Smtp\Auth

Code

private function getResponse(string $secret, string $challenge) : string {
    if (!$secret) {
        throw new InvalidArgumentException('A non-empty secret is required.');
    }
    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));
    return md5($kopad . $inner);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal