if (strlen($initKey) != 16) { die("init key is niet de goede lengte"); } $initKeyArray = str_split($initKey); for ($i = 0; $i < 16; $i++) { $guessArray[] = reverseLookup($initKeyArray[$i]); } //echo implode($guessArray, ", "); $result = ""; for ($i = 0; $i < $iterations; $i++) { $guess = pack('H*', implode(keyMaker($guessArray))); $plaintext = mcrypt_decrypt(MCRYPT_DES, $guess, $cipher, MODE, $iv); //echo implode(keyMaker($guessArray))."\n"; if (strstr($plaintext, $needle)) { $result = array(); $result["key"] = implode(keyMaker($guessArray)); $result["plainText"] = $plaintext; $result["hashCheck"] = md5(trim($plaintext)) == $hash; $result["hash"] = md5(trim($plaintext)); // file_put_contents("result.json", str_replace('\u0000', "", json_encode($result))); die("found it" . str_replace('\\u0000', "", json_encode($result))); break; } $guessArray = updateKey($guessArray); } //file_put_contents("result.json", "{\"result\": \"no\"}"); die("didnt find"); function keyMaker($keyArray) { $key = array(); for ($i = 0; $i < 16; $i++) {
} $updateTime = 0; $i = 0; $j = 0; while (true) { if ($i == 20) { write($out, $j); $i = 0; $j++; $out = ""; } $out .= "Arguments = " . implode(keyMaker($keyArray)) . " " . $jobSize . "\n"; $out .= "Queue\n\n"; echo implode(keyMaker($keyArray)) . "\n"; if ($keyArray == array(15, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)) { $out .= "Arguments = " . implode(keyMaker($keyArray)) . " " . $jobSize . "\n"; $out .= "Queue\n\n"; $j++; write($out, $j); die("done"); } $then = microtime(); $keyArray = updateKey($keyArray); $now = microtime(); $updateTime = ($now - $then + $updateTime) / 2; //echo $updateTime . "\n"; $i++; } function write($out, $j) { global $base;