Получил я значит доступ к содержимому одного сервера, права у меня ноубоди, и ядро свежее, т.е. все паблик сплойты идут лесом. Но это меня не огорчило т.к. там есть чем поживиться и без рута. А дело все в том, что для дальнейших действий мне надо получить так называемые "ПИН-КОДЫ", поковырявшись в скриптах нашел тот кусок кода который генерирует эти "ПИН-КОДЫ". Вот он. Code: if ($sumcod['pncd']=="") { $rand = rand(1,1000000); $win = "2"; $pwdchar = "qwertyuiopasdfghjklmnbvcxzQWERTYUIOPASDFGHJKLMNBVCXZ1234567890"; $mpwd = ""; for ($g = 0; $g < 15; $g++) { srand((double)microtime()*10000000); $r = rand(0,strlen($pwdchar)-1); $mpwd .= $pwdchar[$r]; } $pncd=md5(md5($mpwd)); В связи с чем у меня возник такой вопрос: Реально ли подобрать эти "ПИН-КОДЫ", сгенерировав с помощью этого скрипта словарик. Я слышал что качество случайных чисел, которые выдают функции rand() и srand(), огставляют желать лучшего.
Конечно реально. генерация идёт из почти 70 символов, длинна ПИНА 15. 70 в 15-той степени, это примерно 4747561509943000000000000000 комбинаций. Сгенирировать словарик? На такой "словарик" (со всеми комбо) тебе понадобится 66322668128781951963б Гигов. Если у твоего винча скорость записи 1 гиг в сек (в чём я сомневаюсь), то на такой "словарик" ты можешь расчитывать уже через 2193209924893 лет. Ой... я ещё md5 не заметил =( ЗЫ Все примеры я решал устно в уме, так что могут быть ошибки в вычислениях.
я не оч знаю как в php но в с++ функция rand() не оч хорошая, есле запустить ее потом остановить и опять запустить то числа будут теже! Самого алгоритма я не знаю, но качество не оч, норм получаеться когда подключаеш time Конеш можеш попробвать сгенирироваь паролей эдак 10000 и попроверяй мож че и выйдет, есле нет, то лучш забей....
PHP: я не оч знаю как в php но в с++ функция rand() не оч хорошая, есле запустить ее потом остановить и опять запустить то числа будут теже! =))))))))) читайте ман =)))