Is it possible to predict rand(0,10) in PHP?

math, php

Solution

`rand()` function returns a pseudorandom number . This does NOT mean that the `next` number can be predicted. However this image can explain the concept of word `pseudorandom`

You can read this article

the image is generated from a simple loop with `rand` function on windows system.

header("Content-type: image/png");
$im = imagecreatetruecolor(512, 512) or die("Cannot Initialize new GD image stream");
$white = imagecolorallocate($im, 255, 255, 255);
for ($y = 0; $y < 512; $y++) {
    for ($x = 0; $x < 512; $x++) {
        if (rand(0, 1)) {
            imagesetpixel($im, $x, $y, $white); 
        } 
    } 
} 
imagepng($im); imagedestroy($im);

It's not so random, really? But now that you know it... you can predict the next number?

The difference between true random number generators (TRNGs) and pseudo-random number generators (PRNGs) is that TRNGs use an unpredictable physical means to generate numbers (like atmospheric noise), and PRNGs use mathematical algorithms (completely computer-generated)

[...]

Not many PRNGs will produce an obvious visual pattern like this, it just so happens to be a really bad combination of language (PHP), operating system (Windows), and function (rand()).

Problem

I have a script where I use the rand function in PHP. Now I read some ghost stories that its real easy to predict those outcomes. Is this possible from the client-side? For example, let say we have a `rand(0,10)`. Is it possible to predict the next number?

Original source