3v4l.org

run code in 300+ PHP versions simultaneously
<?php $authTokens = $client->request($uri)->getHeader('WWW-Authenticate')[0]; $explode = explode(',', $authTokens); $realm = rtrim(str_replace('Digest realm="', '', $explode[0]), '"'); $qop = rtrim(str_replace('quo="', '', $explode[1]), '"'); $nonce = rtrim(str_replace('nonce="', '', $explode[2]), '"'); $cnonce = md5(uniqid()); $nc = $key; $A1 = md5(sprintf("%s:%s:%s", $config['auth']['username'], $realm, $config['auth']['password'])); $A2 = md5(sprintf("%s:%s", 'GET', $uri)); $hash = md5(sprintf("%s:%s:%s:%s:%s:%s", $A1, $nonce, $nc, $cnonce, $qop, $A2)); $response = md5(sprintf( 'Digest nonce="%s",nc="%s",cnonce="%s",qop="%s",username="%s",uri="%s",response="%s"', $nonce, $nc, $cnonce, $qop, $config['auth']['username'], $uri, $hash )); $request->setAllHeaders(['Authorization' => $response]);

preferences:
36.48 ms | 402 KiB | 5 Q