普通网友 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条)

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里