I want to create a random ints and strings in PHP and so I decided to use mcrypt_create_iv. It is written in manual that it uses /dev/random and /dev/urandom for randomness but I can't find a simple tutorial on how to generate random Int and String using this function. I tried some code but this function gives me unreadable characters. So please can you give me a simple example of how properly I can use it?
If you want to generate random numbers, use mt_rand
:
$random = mt_rand(0, 999999);
If you want a string, you can pass the resulting integer through a hash function:
$random = mt_rand(0, 999999);
$random_string = sha1($random);
mcrypt_create_iv
is used in cryptography. It is totally unrelated to your requirement.
If you're looking to use the random string in security components (salts, passwords, etc.), read from /dev/urandom
like so:
$random = file_get_contents('/dev/urandom', false, null, 0, 10);
...where 10
is the length, then convert like this:
$string = bin2hex($random);
$number = current(unpack('L', $random));