$aes->gen_readymade_key() now uses /dev/urandom when possible
authorDan
Thu, 05 Jul 2007 10:50:35 -0400
changeset 44 90b557e7f12c
parent 43 30d2fb25afff
child 45 9cb99e37bfc4
$aes->gen_readymade_key() now uses /dev/urandom when possible
includes/rijndael.php
--- a/includes/rijndael.php	Thu Jul 05 10:43:03 2007 -0400
+++ b/includes/rijndael.php	Thu Jul 05 10:50:35 2007 -0400
@@ -870,6 +870,18 @@
     {
       $key .= chr(mt_rand(0, 255));
     }
+    if ( file_exists('/dev/urandom') && is_readable('/dev/urandom') )
+    {
+      // Let's use something a little more secure
+      $ur = @fopen('/dev/urandom', 'r');
+      if ( !$ur )
+        return $key;
+      $ukey = @fread($ur, $len);
+      if ( strlen($ukey) != $len )
+        return $key;
+      fclose($ur);
+      return $ukey;
+    }
     return $key;
   }