diff options
Diffstat (limited to 'include/functions.php')
-rw-r--r-- | include/functions.php | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/functions.php b/include/functions.php index f0ff2ce28..a4e19a231 100644 --- a/include/functions.php +++ b/include/functions.php @@ -701,7 +701,7 @@ // First login ? if (db_num_rows($result) == 0) { - $salt = substr(bin2hex(openssl_random_pseudo_bytes(125)), 0, 250); + $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); $pwd_hash = encrypt_password($password, $salt, true); $query2 = "INSERT INTO ttrss_users @@ -731,7 +731,7 @@ if (db_num_rows($result) == 1) { // upgrade password to MODE2 - $salt = substr(bin2hex(openssl_random_pseudo_bytes(125)), 0, 250); + $salt = substr(bin2hex(get_random_bytes(125)), 0, 250); $pwd_hash = encrypt_password($password, $salt, true); db_query($link, "UPDATE ttrss_users SET @@ -818,7 +818,7 @@ function make_password($length = 8) { - return substr(bin2hex(openssl_random_pseudo_bytes($length / 2)), 0, $length); + return substr(bin2hex(get_random_bytes($length / 2)), 0, $length); } // this is called after user is created to initialize default feeds, labels @@ -5398,4 +5398,17 @@ } } + + function get_random_bytes($length) { + if (function_exists('openssl_random_pseudo_bytes')) { + return openssl_random_pseudo_bytes($length); + } else { + $output = ""; + + for ($i = 0; $i < $length; $i++) + $output .= chr(mt_rand(0, 255)); + + return $output; + } + } ?> |