Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ukladanie wyrazow z wybranej ilosci liter
Forum PHP.pl > Forum > PHP
balu
witam wszystkich!

mój problem polega na tym, ze chcialbym uzyskac pewna rzecz ale zwyczajnie matka natura nie dala mi talentu do myslenia po matematycznemu, programistycznemu itp. smile.gif

program, ktory chcialbym miec można zapewne uzyskac w innym języku niz php jak pascal itp. ale myślę, że php też da sobie rade.

Do rzeczy. Chodzi mi o programik, który będzie wypisywał wszystkie możliwe wyrazy z tylu liter ile sobie wybiore. Wiem, ze kombinacji takich jest pare tysięcy, tym bardziej, jak wybiore wszystkie litery ale spokojnie mam czas smile.gif
fajnie byłoby jak oprocz ilosci liter mógłbym równiez wybierać jakie mają to być litery a nie losowo.

nie musi to być "ładny" program czyli pojawiające sie okienka proszace o podanie ilosci liter itp., może to być w kodzie, sam sobie pozmieniam
dziekuej za wysluchanie biggrin.gif
kwiateek
Chcesz miec dekoder hasel metoda Brutal Force? aaevil.gif
[Regis]
Sciagnij sobie "John the Ripper" (tak, tak - nie Jack, ale John smile.gif ) i bedzie po sprawie smile.gif Tyle ze ogolnie metoda BF nie sprawdza sie (nie doczekasz sie smile.gif ) dla hasel dluzszuch niz te 4-5 znakow (dlaczego? klania sie matematyka smile.gif ), a jeszcze jak hasla sa zaszyfrowane (np. md5) to automatycznie maja chyba cos kolo 10 znakow... No ale mowie - jak cos to nie wlasny skrypt, ale "John the Ripper" smile.gif I moze uzyj (sprobuj) metody slownikowej ? smile.gif
maggot
[php:1:4d131a2f0a]<?php

$ile = 4; // ile znakow ma miec wyraz
$znaki = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w', 'x', 'y', 'z'); // liczba znakow z przedzialu [2,36] (z pretensjami do base_conwert)

set_time_limit(60*60); // winksmiley.jpg

$lznakow = count($znaki);

$plik = fopen('wyrazy.txt','w');


for ($i = 0; $i < pow($lznakow, $ile); $i++)
{
$l = base_convert($i, 10, $lznakow);
$ciag = str_pad($l, $ile, '0', STR_PAD_LEFT);

$str = '';
for ($b = 0; $b <= strlen($ciag)-1; $b++)
{
$str.= $znaki[base_convert($ciag[$b], $lznakow, 10)];

}
fwrite($plik, $str."n");
}
fclose($plik);
}
?>[/php:1:4d131a2f0a]
cos takiego wykombinowalem, pewnie mozna to zrobic szybciej, ale mi sie podoba tongue.gif
balu
dzieki maggot o to mi chodziło
tylko, że... smile.gif nie można tak zrobić aby układało jakies ludzkie wyrazy?

wiesz przy 6 literach uklada mi np. sssssa
zeby nie wstawial obok siebie tak duzo tych samych liter, gora 2
[Regis]
ale wymagania smile.gif
kwiateek
Cytat
cos takiego wykombinowalem, pewnie mozna to zrobic szybciej, ale mi sie podoba tongue.gif

w kodzie byl blad. Niepotrzebna jest ostatnia klamra zamykajaca. Poprawny:
[php:1:ce225a9087]<?php

$ile = 4; // ile znakow ma miec wyraz
$znaki = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'w', 'x', 'y', 'z'); // liczba znakow z przedzialu [2,36] (z pretensjami do base_conwert)

set_time_limit(60*60); // winksmiley.jpg

$lznakow = count($znaki);

$plik = fopen('wyrazy.txt','w');


for ($i = 0; $i < pow($lznakow, $ile); $i++)
{
$l = base_convert($i, 10, $lznakow);
$ciag = str_pad($l, $ile, '0', STR_PAD_LEFT);

$str = '';
for ($b = 0; $b <= strlen($ciag)-1; $b++)
{
$str.= $znaki[base_convert($ciag[$b], $lznakow, 10)];

}
fwrite($plik, $str."n");
}
fclose($plik);
?>[/php:1:ce225a9087]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.