title: Why openssl is giving different random numbers even if the seed provided is the same?
body: <p>I was writing a random number generator using openssl Random number generator apis. I am providing a seed to the random number generator. The seed is provided to the openssl using the <code>RAND_seed()</code> api of openSSL, and after giving the seed I am calling <code>Rand_bytes()</code> api to get the random number. </p>
  
  <p>But the problem is, if the seed is same, Rand_bytes should give me the same random number, But in my case I' m not getting the same random number. What is the reason for this behavior ? What is the solution ?
  The code is given below</p>
  
  <pre><code>#define _64BIT_SIZE 8
  
  int GenerateRandom_64(unsigned char * apcRandom_64)
  {
      unsigned char cRandBytes_64[_64BIT_SIZE] = {0},
                    cSeed_64[_64BIT_SIZE]      = 
                                     {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
      RAND_seed(cSeed_64, _64BIT_SIZE); /* seed  is cSeed_64 */
      if(!RAND_bytes(apcRandom_64, _64BIT_SIZE))
          printf("nOt seeded the random bit generator properly\n");
      return 0;
  }
  </code></pre>