Jump to content
php.lv forumi

visu iespeejamo simbolu ģenerēšana


Klez

Recommended Posts

Jā. tieši ar php palīdzību :) varbūt kādam ir kāda ideja kā to labāk paveikt. ir visi burti (mazie un lielie) un cipari. vaidzētu uzgenerēt visas iespējamās kombinācijas ... varbūt kāds ir kaut ko līdzīgu jau darījis.
ja nu uz php šito darīt ir galīgi muļķīgi , tad pasakiet :)

paldies


P.S
gribas core2dou patesteet zem linuxa :)

Link to comment
Share on other sites

vispaar skjiet kaa tur nevajag 8 ciklus ;)

manupraat stipri mazaak.. (jo neticu ka atkariiba no prasiito simbolu skaita vajag tikpat ciklus ;) )

Vispaar pameklee mat vienaadojumus/algoritmus par Kombinatoriku ;)

Domaaju ka atradiisi gatavu algoritmu , atliks tik pielaagot PHP ;)

Edit: pameklee pie C++ to buus stipri vieglaak pielaagot prieksh PHP

Edited by Grey_Wolf
Link to comment
Share on other sites

function randomkeys($length){
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
	for($i=0;$i<$length;$i++){
		if(isset($key))
		 $key .= $pattern{rand(0,35)};
		else
 		$key = $pattern{rand(0,35)};
	}
return $key;
}

Link to comment
Share on other sites

rob: tas neģenerēs visas iespējamās, bet gan randomā kautkādu kaudzi.

 

Un kādus murgus jūs tur runājat..

cilveks: rainbow table, wtf? Vai tev ir kaut mazākā nojausma kā tiek konstruēta Rainbow table? Tieši konstruēta?

 

Klez: Te tak vienkārša rekursija der, vai pat vienkāršāk: eklementārs cikls:

 

<?php
$visi = "abcdefgh"; // no kaa gjenereet, saraksti te visus burtus/ciparus
$g = strlen($visi);

$garums = 4; // kaadaa garumaa gjenereet tos stringus

$data = "";
for ($i=0; $i<$garums; $i++)
{
	$data .= $visi{0};
}

while (true)
{
	echo $data, "\n";

	$p = $garums-1;
	while ($p>=0)
	{
		$i = strpos($visi, $data{$p});
		if ($i == $g-1)
		{
			$data{$p} = $visi{0};
			$p--;
		}
		else
		{
			$data{$p} = $visi{$i+1};
			break;
		}
	}
	if ($p < 0)
	{
		break;
	}
}
?>

 

Un uz php šitādas lietas testēt, manuprāt ir muļķīgi. php interpretatora overheads ir pārāk liels.

Tad jau daudz labāk rakstīt šito pašu iekš Pascal, C vai C++. Un vēlams izmantojot divus threadus, ja jau dual-kori gribi testēt.

Link to comment
Share on other sites

×
×
  • Create New...