Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет aleshru ([info]aleshru)
@ 2004-11-05 15:29:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Генератор паролей
<?
class
randomPassw{
        function
generate($length=10){        
            
$rnd['1']    =    random_low_string;

            
$rnd['2']    =    random_upper_string;
            
$rnd['3']    =    random_number;
            
            
$i            =    0;

            
$r            =    array();
            while(
$i<=$length){
                
$r_val    =    mt_rand(1,3);
        

                if(!
is_object($this)){
                    
$r[$i]    =    randomPassw::$rnd[$r_val]();
                }else{

                    
$r[$i]    =    $this->$rnd[$r_val]();
                }

                
$i++;
            }
            return
join("",$r);                

        }

        
        function
random_low_string(){
            
$rnd    =    mt_rand(97,122);
            
$char    =    chr($rnd);

            return
$char;
        }

        function
random_upper_string(){
            
$rnd    =    mt_rand(65,90);
            
$char    =    chr($rnd);

            return
$char;
        }

        function
random_number(){
            
$rnd    =    mt_rand(48,57);
            
$char    =    chr($rnd);

            return
$char;
        }

}
?>







(Добавить комментарий)


[info]clops@lj
2004-11-05 01:56 (ссылка)
ну нах так сложно... будь проще =)

function random_char($string){
$length = strlen($string);
$position = mt_rand(0, $length - 1);
return($string[$position]);
}

function random_string($charset_string, $length){
$return_string = random_char($charset_string);
for($x = 1; $x < $length; $x++){
$return_string .= random_char($charset_string);
}
return($return_string);
}

echo random_string("xyzXYZ123456789",8);

(Ответить) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 01:58 (ссылка)
я к тому, что, например, ноль и заглавную О в одном пароле иметь не советую

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:00 (ссылка)
Эм... дело в том, что задача была генерить самые СЛОЖНО подбираемые пароли.

Такие пароли подбирать пожалуй сложнее чем md5 даже. Диапозон подбора больше?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 02:02 (ссылка)
нет ну если хацкер заранее знает диапазон, то да... а так надо бы чтобы пароль ещё и запоминался, например

list3n2me -- пароль от рута одной машины -- подобрать шансов практически нет, запомнить просто =)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:04 (ссылка)
Ну как бы когда хакИр какмнть сниффером получает 32-символьных хэш формата 0-9-F то он сразу понимает что это md5, и подобрать его легко.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 02:05 (ссылка)
легко? ты шутишь?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:11 (ссылка)
Ну конечно - это не просто. Это прощё чем подобрать мой пароль.
Диапозон подбора md5 хэша 1632 а у моего десятизначного 7210

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 02:12 (ссылка)
без разницы, и то и другое простому смертному недоступно

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:14 (ссылка)
Может я от CIA защититься хочу?:))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 02:15 (ссылка)
ну нах, от них только ПГП =))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:17 (ссылка)
Я так и не понял что это такое:))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 02:18 (ссылка)
Pretty Good Privacy -- опенсорс система шифрования открытым ключом... скажем так, тот же SSL на похожей системе сделан.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:20 (ссылка)
А использовать-то мне его где?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]clops@lj
2004-11-05 02:23 (ссылка)
ну, например, пока постить в ЖЖ прямо e-mailом, достаточно свою цифровую подпись поставить. Можно использовать цифровую подпись вместо пароля, можно... ой, да всё можно, на что только фантазии хватает =)

(Ответить) (Уровень выше)


[info]clops@lj
2004-11-05 02:23 (ссылка)
вот например меня ЖЖ знает в лицо -- http://www.livejournal.com/pubkey.bml?user=clops

(Ответить) (Уровень выше)


[info]nbsp@lj
2004-11-05 02:53 (ссылка)
http://www.google.com/search?hl=en&lr=&q=72**10
http://www.google.com/search?hl=en&q=16**32

двоешник))

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]aleshru@lj
2004-11-05 02:55 (ссылка)
Вот всегда найдётся какойнибудь *** который всё испортит!:)

(Ответить) (Уровень выше)


[info]clops@lj
2004-11-05 02:11 (ссылка)
давай так, предположим что мой пароль будет состоять ТОЛЬКО из букв нижнего регистра и будет 8 символов длинной... 2х гиговы пень может проверять около 10 000 мд5 паролей в секунду (может меньше, ультраспарк, где я тестил, делает около 15000) и так, считаем

(26 + 26^2 + 26^3 ... + 26^8)/(10 000 * 2) ~= 7450 дней или около 20 лет =)) просто, ага

(Ответить) (Уровень выше)