diff options
Diffstat (limited to 'include/functions_session.inc.php')
-rw-r--r-- | include/functions_session.inc.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/functions_session.inc.php b/include/functions_session.inc.php index 0829bcfda..e75f22e12 100644 --- a/include/functions_session.inc.php +++ b/include/functions_session.inc.php @@ -64,11 +64,21 @@ function generate_key($size) { include_once(PHPWG_ROOT_PATH.'include/random_compat/random.php'); + try + { + $bytes = random_bytes($size+10); + } + catch (Exception $ex) + { + include_once(PHPWG_ROOT_PATH.'include/srand.php'); + $bytes = secure_random_bytes($size+10); + } + return substr( str_replace( array('+', '/'), '', - base64_encode(random_bytes($size+10)) + base64_encode($bytes) ), 0, $size |