# aNNiPAk (21.09.2015 / 22:54)
ДоХтор, Опять не то, код должен сам сгенерировать все варианты паролей с верхним регистром
Ну ты блин сразу можешь написать, что тебе надо?
Я сегодня уже не смогу помочь. Если до завтра никто не отзовётся, то вечером напишу. Ты только сразу всё что надо говори. Подумай, и напиши внятно.
Я сделал это!
//$s = "9assqd,bxw8u";
$s = "abcd";
$s = strtolower($s);
$chars = preg_split('//', $s, -1, PREG_SPLIT_NO_EMPTY);
$len = count($chars);
$result = [$s];
echo "x: y => z\n\n";
for ($x = 1; $x < $len; $x++) {
echo $x, ":\n";
for ($y = 0; $y < $len; $y++) {
echo " ", $y, " => ";
$variant = $chars;
for ($g = 0; $g < $x; $g++) {
$z = $y + $g;
if ($z > $len - 1) {
$z = abs($z - $len);
}
echo $z, " ";
$variant[$z] = strtoupper($variant[$z]);
}
echo "\n";
$variant = join("", $variant);
$result[] = $variant;
echo "\t", $variant, "\n";
}
echo "\n";
}
$result[] = strtoupper($s);
$result = array_unique($result);
foreach ($result as $v) {
echo $v, "\n";
}
reaper, По идее должно быть больше строк, но это то, что я имел ввиду
aNNiPAk, Пойдёт?
/*
* Copyright (C) 2015 Jahak
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @param string $string
* @return array
* @throws Exception
*/
function strUpper( $string )
{
$string = strtolower($string);
if ( strlen($string) < 2 )
{
throw new Exception('Длинна строки меньше двух символов!');
}
$strtoupper = $return = array();
foreach (str_split($string) as $value)
{
$strtoupper[] = strtoupper($value);
$implode = implode($strtoupper);
$return[] = $implode . (substr($string, strlen($implode))? : '');
}
array_unshift($return, $string);
return $return;
}
$dictionary = array(
'aNNiPAk', 'ramzes', 'Koenig', 'reaper', 'Jahak'
);
foreach ($dictionary as $string)
{
echo '<b>', $string, '</b><br>';
try {
foreach (strUpper($string) as $strUpper)
{
echo ' ' . $strUpper . '<br>';
}
} catch ( Exception $exc ) {
echo $exc->getMessage() . '<br>';
}
}
# Jahak (22.09.2015 / 09:21)
aNNiPAk, Пойдёт?
[php]
/*
* Copyright (C) 2015 Jahak
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as pub
Запихивал бы свои лицензии в блог лучше. А то пихаешь в кусок кода, лицензию на программное обеспечение. У твоей чудо "программы", которая по объему символов сопоставима с объемом лицензии даже названия нет, а ты уже лицензию вставляешь, как будто разработал мега софтину.
В общем перестань вставлять кучу лишних букв, засирая форум бесполезной фигнёй.
Simba, как бы давно про это говорил... Вот ответ гуру
http://johncms.com/forum/index ... 91208
Объясните, что автор хочет сделать.
Rakovskiy, я так понял нужно получить все возможные комбинации пароля из символов. при разных регистрах
есть у меня мысль как сделать. надо будет попробовать вечером
Koenig, Я буду ждать, ибо вопрос еще актуален