Random number generator

Unless your are doing some crazy cryptography stuff like generating private keys for signatures or something like that you should probably use /dev/urandom. For session ids or something like that even HMAC SHA256 with some secret + pid + request-id + … + microtime may be secure enough und even faster.