PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
PATCH
Отправлено: 11 Августа, 2011 - 01:00:56
Частый посетитель
Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011
Помог: 22 раз(а)
как сделать что бы пароль генерировался из букв английского языка и цифр, помимо этого что бы он генерировался рандомно к примеру от 4 до 15 длиной строки . т.е пароль может быть как и длиной строки 6 так и 9 в указаном диапозоне.
CODE (
htmlphp ):
скопировать код в буфер обмена
< form method= "post" >
< input type= "text" name= "min_number" value= "" > //минимальное значение генерации пароля
< input type= "text" name= "max_number" value= "" > //максимальное значение генерации пароля
< input type= "submit" value= "Генерировать" >
< form>< br>< br>
<? php
$arr = array ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' , 'k' , 'l' ,
'm' , 'n' , 'o' , 'p' , 'r' , 's' ,
't' , 'u' , 'v' , 'x' , 'y' , 'z' ,
'A' , 'B' , 'C' , 'D' , 'E' , 'F' ,
'G' , 'H' , 'I' , 'J' , 'K' , 'L' ,
'M' , 'N' , 'O' , 'P' , 'R' , 'S' ,
'T' , 'U' , 'V' , 'X' , 'Y' , 'Z' ,
'1' , '2' , '3' , '4' , '5' , '6' ,
'7' , '8' , '9' , '0' ) ;
$pass = "" ;
$index = mt_rand ( вот как тут я хз написать) ; $pass .= $arr [ $index ] ;
echo $pass ;
?>
ccылка на чтение данной функции не надо ибо она генерирует числа и там тока указывать 2 параметра (мин,мах) но как тогда сгенерировать случайный пароль со случайной длиной?
или
CODE (
htmlphp ):
скопировать код в буфер обмена
< form method= "post" >
< input type= "text" name= "min" value= "" >
< input type= "text" name= "max" value= "" >
< input type= "submit" value= "Генерировать" >
< form>< br>< br>
<? php
$min = $_POST [ 'min' ] ;
$max = $_POST [ 'max' ] ;
$eng = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" ;
$number = "1234567890" ;
$rus = "йцукенгшщзхъфывёапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ" ;
$full_text = $eng . $number . $rus ;
?>
есть переменая $full_text которая в себе содержит все буквы и цифры английской и русской раскладки. как нам из этой строки выдернут 4 случайных символа? т.е что бы из этой кучи допустим получилось слово 'дача' (не обязательно слово просто так получилось)(Отредактировано автором: 11 Августа, 2011 - 04:14:17)
illy
Отправлено: 11 Августа, 2011 - 10:07:03
Участник
Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011
Откуда: от верблюда)
Помог: 28 раз(а)
Лови код
В нём выводится минимум 1 английская буква, 1 цифра, 1 русская буква.
PHP:
скопировать код в буфер обмена
<form method=post>
min <select name=min>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
</select>
max <select name=max>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
</select>
<input type=submit value='Генерировать'>
<form>
<br>
<br>
<?PHP
$min = $_POST [ 'min' ] ;
$max = $_POST [ 'max' ] ;
$ra = $am - $ea - $na ;
$eng = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' ;
$num = '1234567890' ;
$rus = 'йцукенгшщзхъфывёапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ' ;
echo $am ;
for ( $n = 0 ; $n != $ea ; $n ++ ) {
$p [ ] = $m ;
}
for ( $n = 0 ; $n != $na ; $n ++ ) {
$p [ ] = $m ;
}
for ( $n = 0 ; $n != $ra ; $n ++ ) {
$p [ ] = $m ;
}
echo $p ;
?>
(Добавление)
А этот код делает пароль из твоей кучи
PHP:
скопировать код в буфер обмена
<form method=post>
min <select name=min>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
</select>
max <select name=max>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
</select>
<input type=submit value=Генерировать>
<form>
<br>
<br>
<?PHP
$min = $_POST [ 'min' ] ;
$max = $_POST [ 'max' ] ;
$eng = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM' ;
$num = '1234567890' ;
$rus = 'йцукенгшщзхъфывёапролджэячсмитьбюЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ' ;
$full_text = $eng . $num . $rus ;
$p = '' ;
for ( $n = 0 ; $n != $am ; $n ++ ) {
}
echo $p ;
?>
(Отредактировано автором: 11 Августа, 2011 - 10:54:40)
-----Всё гениальное - просто
И ещё проще, если ты - индиго
OrmaJever
Отправлено: 11 Августа, 2011 - 11:53:10
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010
Откуда: Чернигов
Помог: 299 раз(а)
PHP:
скопировать код в буфер обмена
function pass( $number ) {
$arr = array ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' , 'k' , 'l' ,
'm' , 'n' , 'o' , 'p' , 'r' , 's' ,
't' , 'u' , 'v' , 'x' , 'y' , 'z' ,
'A' , 'B' , 'C' , 'D' , 'E' , 'F' ,
'G' , 'H' , 'I' , 'J' , 'K' , 'L' ,
'M' , 'N' , 'O' , 'P' , 'R' , 'S' ,
'T' , 'U' , 'V' , 'X' , 'Y' , 'Z' ,
'1' , '2' , '3' , '4' , '5' , '6' ,
'7' , '8' , '9' , '0' ) ;
$pass = "" ;
for ( $i = 0 ; $i < $number ; $i ++ )
{
$pass .= $arr [ $index ] ;
} ;
return $pass ;
}
echo pass( 8) ;
-----Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
EuGen
Отправлено: 11 Августа, 2011 - 14:02:24
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007
Откуда: Berlin
Помог: 707 раз(а)
Можно, например, так:
PHP:
скопировать код в буфер обмена
$minLength = 6 ;
$maxLength = 15 ;
$rgLetters = array ( 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i' , 'j' , 'k' , 'l' ,
'm' , 'n' , 'o' , 'p' , 'r' , 's' ,
't' , 'u' , 'v' , 'x' , 'y' , 'z' ,
'A' , 'B' , 'C' , 'D' , 'E' , 'F' ,
'G' , 'H' , 'I' , 'J' , 'K' , 'L' ,
'M' , 'N' , 'O' , 'P' , 'R' , 'S' ,
'T' , 'U' , 'V' , 'X' , 'Y' , 'Z' ,
'1' , '2' , '3' , '4' , '5' , '6' ,
'7' , '8' , '9' , '0' ) ;
-----Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DeepVarvar
Отправлено: 11 Августа, 2011 - 19:36:28
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008
Откуда: Альфа Центавра
Помог: 353 раз(а)
PATCH пишет: о то что нужно спс
А какая разница то?
На доли секунды быстрее.
И то не факт...
PATCH
Отправлено: 11 Августа, 2011 - 20:46:51
Частый посетитель
Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011
Помог: 22 раз(а)
еще вопросик, я решил расширить свою функцию сделал конфиг настроек и там указаны 5 переменых с значение 0,1
и в сценарии идет логическое выражение if мол
и так еще 4
как объединить эти 5 массивов в 1? пробовал
но если 1 массива нету то он выдает ошибку как вот их объединить
вот собствено код
PHP:
скопировать код в буфер обмена
$rgNumber = '' ;
$rgEng_lower = '' ;
$rgEng_high = '' ;
$rgRus_lower = '' ;
$rgRus_high = '' ;
if ( $number == 1)
{
$rgNumber = array ( '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , '0' ) ; }
if ( $eng_lower == 1)
{
$rgEng_lower = array ( 'q' , 'w' , 'e' , 'r' , 't' , 'y' , 'u' , 'i' , 'o' , 'p' , 'a' , 's' , 'd' , 'f' , 'g' , 'h' , 'j' , 'k' , 'l' , 'z' , 'x' , 'c' , 'v' , 'b' , 'n' , 'm' ) ; }
if ( $eng_high == 1)
{
$rgEng_high = array ( 'Q' , 'W' , 'E' , 'R' , 'T' , 'Y' , 'U' , 'I' , 'O' , 'P' , 'A' , 'S' , 'D' , 'F' , 'G' , 'H' , 'J' , 'K' , 'L' , 'Z' , 'X' , 'C' , 'V' , 'B' , 'N' , 'M' ) ; }
if ( $rus_lower == 1)
{
$rgRus_lower = array ( 'ё' , 'й' , 'ц' , 'у' , 'к' , 'е' , 'н' , 'г' , 'ш' , 'щ' , 'з' , 'х' , 'ъ' , 'ф' , 'ы' , 'в' , 'а' , 'п' , 'р' , 'о' , 'л' , 'д' , 'ж' , 'э' , 'я' , 'ч' , 'с' , 'м' , 'и' , 'т' , 'ь' , 'б' , 'ю' ) ; }
if ( $rus_high == 1)
{
$rgRus_high = array ( 'Ё' , 'Й' , 'Ц' , 'У' , 'К' , 'Е' , 'Н' , 'Г' , 'Ш' , 'Щ' , 'З' , 'Х' , 'Ъ' , 'Ф' , 'Ы' , 'В' , 'А' , 'П' , 'Р' , 'О' , 'Л' , 'Д' , 'Ж' , 'Э' , 'Я' , 'Ч' , 'С' , 'М' , 'И' , 'Т' , 'Ь' , 'Б' , 'Ю' ) ; }
$rgLetters = тут надо объединитьв 1 массив;
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB