private function generateNonce($bits = 64)
    {
        $result          = '';
        $accumulatedBits = 0;
        $random          = mt_getrandmax();

        for ($totalBits = 0; $random != 0; $random >>= 1) {
            ++$totalBits;
        }

        $usableBits = intval($totalBits / 8) * 8;

        while ($accumulatedBits < $bits) {
            $bitsToAdd = min($totalBits - $usableBits, $bits - $accumulatedBits);
            if ($bitsToAdd % 4 != 0) {
                // add bits in whole increments of 4
                $bitsToAdd += 4 - $bitsToAdd % 4;
            }

            // isolate leftmost $bits_to_add from mt_rand() result
            $moreBits = mt_rand() & ((1 << $bitsToAdd) - 1);

            // format as hex (this will be safe)
            $format_string = '%0'.($bitsToAdd / 4).'x';
            $result .= sprintf($format_string, $moreBits);
            $accumulatedBits += $bitsToAdd;
        }

        return $result;
    }
private function generateNonce($bits = 64)
    {
        $result          = '';
        $accumulatedBits = 0;
        $random          = mt_getrandmax();

        for ($totalBits = 0; $random != 0; $random >>= 1) {
            ++$totalBits;
        }

        $usableBits = intval($totalBits / 8) * 8;

        while ($accumulatedBits < $bits) {
            $bitsToAdd = min($totalBits - $usableBits, $bits - $accumulatedBits);
            if ($bitsToAdd % 4 != 0) {
                // add bits in whole increments of 4
                $bitsToAdd += 4 - $bitsToAdd % 4;
            }

            // isolate leftmost $bits_to_add from mt_rand() result
            $moreBits = mt_rand() & ((1 << $bitsToAdd) - 1);

            // format as hex (this will be safe)
            $format_string = '%0'.($bitsToAdd / 4).'x';
            $result .= sprintf($format_string, $moreBits);
            $accumulatedBits += $bitsToAdd;
        }

        return $result;
    }
private function generateNonce ( $ bits = 64 ) { $ result = '' ; $ accumulatedBits = 0 ; $ random = mt_getrandmax ( ) ; for ( $ totalBits = 0 ; $ random != 0 ; $ random >>= 1 ) { ++ $ totalBits ; } $ usableBits = intval ( $ totalBits / 8 ) * 8 ; while ( $ accumulatedBits < $ bits ) { $ bitsToAdd = min ( $ totalBits - $ usableBits , $ bits - $ accumulatedBits ) ; if ( $ bitsToAdd % 4 != 0 ) { // add bits in whole increments of 4 $ bitsToAdd += 4 - $ bitsToAdd % 4 ; } // isolate leftmost $bits_to_add from mt_rand() result $ moreBits = mt_rand ( ) & ( ( 1 << $ bitsToAdd ) - 1 ) ; // format as hex (this will be safe) $ format_string = '%0' . ( $ bitsToAdd / 4 ) . 'x' ; $ result .= sprintf ( $ format_string , $ moreBits ) ; $ accumulatedBits += $ bitsToAdd ; } return $ result ; }
OAuth1.0 nonce generator

@param int $bits

@return string
OAuth1 . 0 nonce generator