普通网友 2012-02-25 18:40
浏览 131
已采纳

php使用mcrypt_create_iv

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));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?