Уникален код

explozen

Registered
Здравейте предприемачи :)

Имам едно запитване...
Опитвам се да скалъпя един код който да ми генерира код от 6 символа(цифри и букви но разбъркани).

Имам код който ми генерира но са първо буквите и след това цифрите.

Ето кода:
Код:
<?php
function random_num($size) {
	$alpha_key = '';
	$keys = range('A', 'Z');

	for ($i = 0; $i < 2; $i++) {
		$alpha_key .= $keys[array_rand($keys)];
	}

	$length = $size - 2;

	$key = '';
	$keys = range(0, 9);

	for ($i = 0; $i < $length; $i++) {
		$key .= $keys[array_rand($keys)];
	}

	return $alpha_key . $key;
}

echo random_num(6);
?>
 
Код:
function random_num ($len=6){ return substr(sha1(time()), 0, $len);}
:idea: :?:
Код:
echo random_num(10);
:!: :?: :D

Едит: ето още по- кратко:

PHP:
<?php
echo uniqid();
?>

https://www.w3schools.com/php/func_misc_uniqid.asp :idea: :?:
 
Това изобщо не е random. Даже не е и уникално(то следва от първото изречение де). Та, ползвай openssl random bytes при php5 или random bytes при php7 Ето как го правят в laravel

public static function random($length = 16)
{
$string = '';
while (($len = static::length($string)) < $length) {
$size = $length - $len;
$bytes = random_bytes($size);
$string .= static::substr(str_replace(['/', '+', '='], '', base64_encode($bytes)), 0, $size);
}
return $string;
}
 

Горе