Формирую пароль:
function createPassword ( $password_size ) {
$nabor = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()+<>?/\{}[]~";
$size_str = strlen( $nabor );
$password = '';
for ( $i = 0; $i < $password_size; $i++ ) {
$password .= $nabor[rand( 0, $size_str )];
}
return $password;
}
Прогоняю:
$p = '';
for ($i=10; $i>0; $i--) {
$p = createPassword(10);
echo "$p--" . strlen($p) . "<br>";
}
Вывод:
9+A77(!sPC--10
cIn+2L42o)--10
!iYVIjT(aVn5?28+9--9
Eu**2#Xh--10
))2L(]{i2--10
Tj#?vodx@--10
LzZ2gTD?wb--10
UQDyB{bdVm]to@x@--10
+F^lzEgw/u--10
UPD Как сделать набор с спец символами?
сделал такой набор (работает верно):
$nabor = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
почему пароли разной длины?
function createPassword ( $password_size )
{
$nabor = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()+<>?/\{}[]~";
$size_str = strlen( $nabor );
$password = '';
for ( $i = 0; $i < $password_size; $i++ ) {
$password .= $nabor[rand( 0, $size_str - 1 )];
}
return $password;
}
Нумерация массивов начинается с нуля. Диапазон rand
от нуля до размера строки, в случае когда он выдает число равное размеру строки - идет обращение к массиву $nabor
с несуществующем индексом
в дополнение к ответу:
При просмотре результата генерации в браузере следует учитывать, что набор символов включает <
и >
, поэтому когда такие символы включались в генерируемую строку, браузер распознавал в них неизвестный тэг и скрывал все, что между ними находилось
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть изображения одного размера вpng Как можно по средствам PHP реализовать размещение этих изображений на нескольких A4?
Есть гео данные вcsv файле и надо их расположить на точках карты (лучше openstreet) и потом , чтоб люди , введя нужную точку могли ее найти
Есть строка типа $str = +124+567+68+8362; Нужно получить все эти числа от + и до + в массив: