dzięki
Nie ma za co.
A da się zmienić ten program tak, żeby stworzył wszystkie kombinacje 10 znakowe cyfr od 1 do 10 oraz liter od a do f i zapisał je w pliku txt ?
w takiej formie:
.123456789a,
.123456789b,
.123456789c,
itd…
Czy zbyt dużo tego będzie ?
W JavaScript nie można wykonywać operacji na plikach. Zapisywanie musiałoby się odbywać w VBScript, który można odpalić tylko w Internet Explorer. Ewentualnie w jakimś Action Script (flash) lub czymś takim (ale tutaj nie mam 100% pewności czy tak się da).
Litery od a-f w tym ą, ć i ę? Litery mają być tylko na końcu, czy mają być wymieszane z cyframi? Litery i cyfry mogą się powtarzać?
Jeśli na wszystkie trzy pytania odpowiedź jest tak to takich kombinacji będzie 18^10. Spora liczba.
Bez ą, ć, ę.
Litery i cyfry mają być wymieszane… i cyfry mogą się powtarzać.
w php
<?php
for($i = 0; $i < pow(16, 10); $i++)
$a[$i] = '.'.sprintf('%016x', $i).",\r\n";
file_put_contents('plik.txt', $a);
?>
ale trochę tego za dużo i połączenie zapewne przekroczy czas oczekiwania przeglądarki
edit: tfu policzyłem ile to miejsca na dysku zajmie - 20TB - nie ma szans tego dokonać
edit2: jednak tylko 14TB
Znalazłem pewien skrypt php:
function generator($len=10) {
$chrs = 'abcdef0123456789';
$r = '';
$slen = strlen($chrs) - 1;
for ($i = 0; $i < $len; ++$i)
$r.=$chrs[mt_rand(0, $slen)];
return str_shuffle($r);
}
$filename='generated.txt';
file_put_contents($filename, PHP_EOL.generator(), FILE_APPEND);
Tylko czy on zmienia losowo czy ma jakiś algorytm ?
Takie skrypty lepiej odpalić z linii komend (shell/cmd).
http://www.php.net/manual/pl/features.commandline.php
edit: Takie info mi się napisało, tylko na podstawie cytatu, pomijając, że w tym przypadku to praktycznie niewykonalne.
Jesteś pewien co to wielkości tego… przecież ciężko taką przestrzeń wygenerować, a co dopiero takim kodem operować…
16^10 możliwości
po 14 znaków na każdą (10 cyfr szesnastkowych, kropka, przecinek, \r, \n);
1 znak = 1 bajt
pomyłka 14TB
Hmm no to lipa, bo generowanie na zasadzie brutal force w czasie rzeczywistym danej kombinacji mija się z celem, bo zajmie baaardzo dużo czasu, i nie da się operować szybko kodem.
Dzięki panowie za chęć pomocy.
Zgadza się, ale nawet dla mniejszej ilości kombinacji nie trzeba tego robić na jednym komputerze, albo raczej w jednym wątku.