Random Number Generator Php
Here's my final version of a GUIDv4 function (based on others work here) that should work on all platforms and gracefully fallback to less cryptographically secure version if others are not supported...
<?php
/**
* Returns a GUIDv4 string
*
* Uses the best cryptographically secure method
* for all supported pltforms with fallback to an older,
* less secure version.
*
* @param bool $trim
* @return string
*/
function GUIDv4 ($trim = true)
{
// Windows
if (function_exists('com_create_guid') true) {
if ($trim true)
return trim(com_create_guid(), '{}');
else
return com_create_guid();
}
// OSX/Linux
if (function_exists('openssl_random_pseudo_bytes') true) {
$data = openssl_random_pseudo_bytes(16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
// Fallback (PHP 4.2+)
mt_srand((double)microtime() * 10000);
$charid = strtolower(md5(uniqid(rand(), true)));
$hyphen = chr(45); // '-'
$lbrace = $trim ? ' : chr(123); // '{'
$rbrace = $trim ? ' : chr(125); // '}'
$guidv4 = $lbrace.
substr($charid, 0, 8).$hyphen.
substr($charid, 8, 4).$hyphen.
substr($charid, 12, 4).$hyphen.
substr($charid, 16, 4).$hyphen.
substr($charid, 20, 12).
$rbrace;
return $guidv4;
}
?>
Php Generate Unique Random Key Free
Php Generate Random Password
Jan 06, 2020 Generate unique random number in PHP. In this tutorial, we would love to share with you how to generate 2,4,6,10,12 digit unique random number in PHP. Generate unique random number in PHP. You can use the php rand and mtrand function to generate 2,4,6,10,12, etc digit unique random number in PHP. PHP rand function. As you can see, generating random and unique hexadecimal strings up to 40 characters long is very easy in PHP. Generate Cryptographically Secure Random Strings. The three functions to generate random alphanumeric strings that we have discussed so far are not cryptographically secure.