Autor Zpráva
Shadowek
Profil
Dobrý den, píši takový "brute-force" PHP script, který mi bude generovat řetězce. Bohužel když jsem si myslel že jsem téměř u cíle, tak mi pořád dokola házel error log:
Notice: Undefined offset: 0 in D:\www\md5\brute-force.php on line 14
Notice: Undefined offset: 1 in D:\www\md5\brute-force.php on line 14
Notice: Undefined offset: 2 in D:\www\md5\brute-force.php on line 14
Notice: Undefined offset: 3 in D:\www\md5\brute-force.php on line 14
A tak dále ... Nenapadá mě, kde by na tom řádku 14 a ani v jeho okolí mohla být chyba.
<?php
$charset = 'abcdefghijklmnopqrstuvwxyz';
$charset .= '0123456789';
$charset .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charset .= '~`!@#$%^&*()-_\/\'";:,.+=<>? ';
$charset_length = strlen($charset);
$charset_array = str_split($charset);
$char = array();
function NumbersInArray($number, $array){
  $poli = count($array)-1;
  $i = 0;
  $return = NULL;
  while($i != $poli){
    if($array[$i] == $number){
      $return = "OK";
    }  
    elseif($return == "OK" && $array[$i] != $number){
      $return = $i;
      break;      
    }
    else{
      if($return != "OK"){
      $return = "NE";
      }
    }
  $i++; 
  }
  return $return;  
}
function BruteForceString($array, $charset){
  $poli = count($array)-1;
  $string = "";
  while($poli != 0){
    $converse = $array[$poli];
    $converse = $charset[$converse];
    $string .= $converse;
    $poli--;
  }
  return $string;        
}
while(true == true){
  $nia = NumbersInArray($charset_length, $char);
  if(empty($char) || $nia == "OK"){
    if(empty($char)){
      $char[0] = 0;
    }
    else{
      $poli = count($char);
      $char[--$poli] = 0;
    }
  }
  elseif(is_numeric($nia)){
    $char[$nia]++; 
  }
  else{
    $char[0]++;
  }
  echo(BruteForceString($char, $charset_array)."\n");
}

?>
Mastodont
Profil
$char = array();
...
$nia = NumbersInArray($charset_length, $char);

Předáváš prázdné pole ...
Alphard
Profil
Dejte někam na 12. řádek print_r($array);.
Shadowek
Profil
Mastodont:
Ano, předával jsem prázdné pole ...
Alphard:
^^
Takže mám opraveno ... Sice jsem to měl hůř než jsem si myslel ale už mě to funguje (polovinu kódu jsem musel přepsat).
Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0