From dfd3a4e581d10fa64f5b4f16e66fdb5c31b70444 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 5 Mar 2019 20:18:50 +0300 Subject: [PATCH] update previous with make_password() in tt-rss proper --- include/functions.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/include/functions.php b/include/functions.php index acc53c84c..d93be856d 100755 --- a/include/functions.php +++ b/include/functions.php @@ -738,20 +738,27 @@ } function make_password($length = 12) { - $password = ""; - $possible = "0123456789abcdfghjkmnpqrstvwxyzABCDFGHJKMNPQRSTVWXYZ"; + $possible = "0123456789abcdfghjkmnpqrstvwxyzABCDFGHJKMNPQRSTVWXYZ*%+^"; - $i = 0; + $i = 0; while ($i < $length) { - $char = substr($possible, mt_rand(0, strlen($possible)-1), 1); + + try { + $idx = function_exists("random_int") ? random_int(0, strlen($possible) - 1) : mt_rand(0, strlen($possible) - 1); + } catch (Exception $e) { + $idx = mt_rand(0, strlen($possible) - 1); + } + + $char = substr($possible, $idx, 1); if (!strstr($password, $char)) { $password .= $char; $i++; } } + return $password; }