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?
3条回答 默认 最新
- douweng7083 2012-02-25 18:48关注
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));
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报