note 116348 added to function.base64-encode

From: Date: Tue, 16 Dec 2014 12:26:46 +0000
Subject: note 116348 added to function.base64-encode
Groups: php.notes 
Request: Send a blank email to php-notes+get-201206@lists.php.net to get a copy of this message
<?php /** * Generates a random URL-safe base64 string. * * See RFC 3548 for the definition of URL-safe base64. * If $n is not specified, Secure::RANDOM_LENGTH is assumed. It may be larger in future. * * @param int $n Specifies the length of the random string * @param bool $padding * @return string The result may contain A-Z, a-z, 0-9, "-" and "_". "=" is also used if $padding is true. */ public static function newToken($n = null, $padding = false) { // Generate a new unique token if (!function_exists('openssl_random_pseudo_bytes')) { // Generate a random pseudo bytes token if openssl_random_pseudo_bytes is available // This is more secure than uniqid, because uniqid relies on microtime, which is predictable $s = pack('a*', openssl_random_pseudo_bytes($n ?: static::RANDOM_LENGTH)); $s = str_replace(["\n", "\r", "\n\r"], '', $s); } else { // Otherwise, fall back to a hashed uniqid $s = substr(hash('sha256', uniqid(null, true)), 0, $n ?: static::RANDOM_LENGTH); } return $padding ? strtr(base64_encode($s), '+/', '-_') : rtrim(strtr(base64_encode($s), '+/', '-_'), '='); } ?> ---- Server IP: 72.52.91.14 Probable Submitter: 91.90.18.78 ---- Manual Page -- http://php.net/manual/en/function.base64-encode.php Edit -- https://master.php.net/note/edit/116348 Del: integrated -- https://master.php.net/note/delete/116348/integrated Del: useless -- https://master.php.net/note/delete/116348/useless Del: bad code -- https://master.php.net/note/delete/116348/bad+code Del: spam -- https://master.php.net/note/delete/116348/spam Del: non-english -- https://master.php.net/note/delete/116348/non-english Del: in docs -- https://master.php.net/note/delete/116348/in+docs Del: other reasons-- https://master.php.net/note/delete/116348 Reject -- https://master.php.net/note/reject/116348 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#201206) next »