begin process at 2010 02 10 07:16:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > BRUTE FORCE PHP

BRUTE FORCE PHP


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caratère Classé sous :brute force, bruteforce, combinaison, php Niveau :Initié Date de création :02/05/2009 Vu :4 938

Auteur : nax333

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note


 Description

Une fonction qui trouve toutes les combinaisons de n caractères dans un charset donné.
Une version récursive (plus jolie) et une version linéaire. Je ne sais pas laquelle est la plus performante, mais de toute manière si vous recherchez la performance autant traduire ce code dans un autre langage.

Source

  • <?
  • function map($lettre)
  • echo chr($lettre);
  • $charset = range(97,122);
  • $num = count($charset);
  • $last = $num-1;
  • $length = 5;
  • $mot = array();
  • while($mot[$length - 1] <= $last)
  • {
  • for($i = 0; $i < $num; ++$i)
  • {
  • $mot[0] = $i;
  • array_walk($mot, 'map');
  • echo "\n";
  • }
  • $j = 0;
  • while($mot[$j] == $last)
  • {
  • $mot[$j] = 0;
  • ++$j;
  • }
  • if($j == $length)
  • break;
  • $mot[$j]++;
  • }
  • ?>
  • En récursif :
  • <?php
  • $charset = range(97, 122);
  • function recurse($width, $position, $base)
  • {
  • global $charset;
  • foreach($charset as $char)
  • {
  • if ($position < $width - 1)
  • recurse($width, $position + 1, $base.chr($char));
  • echo $base.chr($char)."\n";
  • // ici on fait ce que l'on veut du mot là je l'affiche.
  • }
  • }
  • $maxChars = 3;
  • for($width = 1; $width < $maxChars+1; ++$width)
  • recurse($width, 0, "");
  • ?>
<?
	function map($lettre)
		echo chr($lettre);
	
	$charset = range(97,122);
	$num = count($charset);
	$last = $num-1;
	$length = 5;
	
	$mot = array();
	while($mot[$length - 1] <= $last)
	{		
		for($i = 0; $i < $num; ++$i)
		{
			$mot[0] = $i;
			array_walk($mot, 'map');
			echo "\n";
		}
		
		$j = 0;
		while($mot[$j] == $last)
		{
			$mot[$j] = 0;
			++$j;
		}
		
		if($j == $length)
			break;
			
		$mot[$j]++;
	}
?>


En récursif :
<?php
$charset = range(97, 122);

function recurse($width, $position, $base)
{
    global $charset;
    foreach($charset as $char)
    {
        if ($position < $width - 1)
            recurse($width, $position + 1, $base.chr($char));
        echo $base.chr($char)."\n";
//      ici on fait ce que l'on veut du mot là je l'affiche.
	}
}

$maxChars = 3;
for($width = 1; $width < $maxChars+1; ++$width)
    recurse($width, 0, "");
?>



 Sources du même auteur

FONCTION GET EN PHP : RECUPERER UNE PAGE SUR UN SITE DISTANT
Source avec Zip LABYRINTHES EN PHP (GD + HTML) GÉNÉRATION + RÉSOLUTION
Source avec Zip Source avec une capture CAPTCHA ANTI-BOT + FICHIER SON (WAV)

 Sources de la même categorie

Source avec Zip GÉNÉRER UN MOT DE PASS ALÉATOIRE par narkos2
UNICODE TO HTML ENTITIES par CrazyShooter
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack
FONCTION QUI GÉNÈRE UN CODE GRÂCE À L'ORTOGRAPHE ET LA PRONO... par foofymany
Source avec Zip TRADUCTION DE FICHIERS DE LANGUE AVEC GOOGLE GTRANSLATE par madislak

 Sources en rapport avec celle ci

Source avec une capture PAGINATION EN PHP par Orangina
Source avec Zip SCREENMAIL-SOLUTION DE CONTACT POUR WEBMASTERS par bnrj
Source avec Zip GESTION_ENSEIGNANTS par Elmarzougui
SONDAGE - VOTE - POLL (AVEC MYSQL) par hornet_bzz
Source avec Zip AFFICHAGE ET GESTION DE DIAPORAMA EN PHP SANS BASE DE DONNÉE... par mldvb

Commentaires et avis

Commentaire de Arto_8000 le 03/05/2009 00:15:58

Tu as toi même conclut que ce n'était pas performant et que si on voudrait l'utiliser il faudrait le refaire dans un autre langage ... pourquoi as-tu mis ce script en ligne ? D'autant plus qu'il existe déjà des sources similaires.

Commentaire de wanou95b le 03/05/2009 10:29:33

Je suis complètement d'accord avec Arto_8000. Il faut arrêter de mettre des scripts en ligne pour se faire plaisir .... Ce n'est pas le but recherché et cela devient franchement agaçant.

Commentaire de kohntark le 03/05/2009 21:47:49

Je suis complètement pas d'accord avec vous :o)
Autant je ne vois rien à redire sur certaines sources qui ne fonctionnent même pas, autant ce genre de commentaires m'agacent lorsqu'ils sont portés sur des sources fonctionnelles qui ont leur intérêt.

Pas le plus performant pour ce genre de chose, ça reste à voir, l'utilisation peut être multiple.

La dernière source d'Arto (PHP CHAT) est intéressante et utile, il n'en demeure pas moins qu'elle n'est pas du tout performante comparée à d'autres langages, et alors ?


Cordialement,


Kohntark-

Commentaire de kohntark le 03/05/2009 21:56:00

... et puis pour la similarité d'autres sources, c'est vrai, il y en a déjà qui s'en rapprochent, ... tout comme des dizaines de scripts de chat.

Commentaire de Arto_8000 le 03/05/2009 22:22:24

Mon script ... pas performant ? Tu en serais surpris, j'ai passé une partie du développement à minimiser le temps de réponse du script. Un minimum de requête est fait à la base de donnée (pour les requêtes fréquentes) et le code est optimiser pour rouler le plus rapidement possible sur PHP.

Des dizaines de script de chat ? Ce qui est présent comme source de chat sur le site fonctionne plus ou moins bien, aucune d'entre elle n'est extensible et aucune ne propose même un système pour gère les salles ce qui est quelque chose de base de mon chat. C'est comme si tu me disais qu'une Ferrari ça se rapproche d'une LADA.

Pour revenir au point de la performance, la première chose que l'on recherche dans un script qui fait du brute force, c'est la performance. Plus un script de brute force est performant meilleur il est. À vrai dire, la performance est à peu près le seul critère sur lequel on peut juger un script de brute force, ce qui n'est pas le cas d'un chat. Ta comparaison était très mauvaise.

Commentaire de tofinard le 04/05/2009 07:58:59

mais mais mais; il y en à deux qui n'ont pas fait caca !!! surtout qu'ils ont légèrement oublié que la plupart des algos imaginables existent déja en C, en assembleur, pourtant on ne s'est pas arrété là (heureusement non?) donc ok pour préciser que ça existe déja, d'accord pour préciser, aprés l'auteur lui-même d'ailleurs, qu'il y a plus performant, mais lacher son commentaire accusateur sur un algo qui en plus est un bon exemple de script ecrit en itératif ET en récursif, je vois pas l'interet... d'ailleurs, ça s'applique aussi à mon propre commentaire ya pas trop d'interet (un peu d'introspection quand même) mais bon, sur ce... je vais faire caca, ça ira mieux.

Commentaire de kohntark le 04/05/2009 07:59:10

Je suis entièrement d'accord, sauf que :
- "Mon script ... pas performant ?"
=> j'ai dit : "qu'elle n'est pas du tout performante comparée à d'autres langages"

- "[...]script qui fait du brute force, c'est la performance"
=> j'ai dit : "l'utilisation peut être multiple."

- "À vrai dire, la performance est à peu près le seul critère sur lequel on peut juger un script de brute force, ce qui n'est pas le cas d'un chat"
=> pas le seul critère effectivement, mais il faut bien reconnaitre que la rapidité est très importante également.
Ton chat, si bien écrit soit il, sera toujours en deçà d'un développement dans un autre langage côté performances. Pour une dizaine de personnes ça n'a aucune importance, par contre j'aimerai bien voir avec 30, 60, 100 chatteurs ?? A mon humble petit avis ça ramera grave et ça plantera rapidement
Ce n'est pas pour cela que je vais te dire "ton script ne sert à rien parce qu'il est plus performant dans un autre langage", bien au contraire

Enfin bref, je te l'accorde, je pousse un peu loin la comparaison mais les "Il faut arrêter de mettre des scripts en ligne pour se faire plaisir" and co m'agacent lorsqu'ils ne sont pas pleinement justifiés.Ils ne font que décourager les gens à poster.

Cordialement,


Kohntark-

Commentaire de nax333 le 04/05/2009 19:49:09

Mon script est peut être lent (2 X plus que l'équivalent python) mais c'est inhérent au langage,et par rapport à d'autre scripts qui ont le même résultat je ne sais pas.

Merci à ceux qui me soutienne. Pour les autres, bien sur que l'on peut le faire dans un autre langage de manière plus rapide, mais ce n'est pas forcément nécessaire.

Commentaire de Sebounet31 le 05/05/2009 20:28:41 8/10

Moi, j'aime bien :D

Simple. Accessible.

Commentaire de SuperRaplapla le 24/08/2009 14:25:14

Bonjour,
En testant la fonction récursive, j'aperçois des doublons parasites, serait-ce possible de les éliminer autrement que par des tests conditionnels (ce que j'ai fait) ? Merci d'avance !
PS j'ai mis 10 ;-)

Commentaire de blooddrunk le 30/11/2009 23:28:47

euh je suis pas du tous caller qu'elle qu'un pourrait m'expliquer comment fonctionne se logiciel avec quel logiciel et a quoi il sert.

dans l'attente d'une réponse clair

merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

[PHP] Algorithme, Combinaison, Demande d'aide. [ par krochon75012 ] Bonjour à tous, J'ai pour projet de développer une application permettant à partir d'une liste de différents objet ayant tous différentes caractérist Php et mode console [ par agparchitecture ] Bonjour à tous, Je vient de découvrir php en mode console. Cependant je me pose la question du comment peut-on mettre de la couleur dans la console ( iframe voilà faire apparaître mon php [ par speedylol ] bonjour ;-) voilà comment faire apparaître le titre de mes script php qui son afficher dans mon iframe la partie en rouge ? [code=html] <!DOCTYPE ht Redirection depuis index.php [ par Elisa23 ] Bonjour, J'ai fait un site en Anglais et en Français. Les deux site sont hébergés au même endroit. Je vous ai fait une petite arborescence pour essay Download à partir d'une page php [ par Pins38 ] Bonsoir, je voudrais que les utilisateurs de mon site puissent télécharger un fichier à partir de cette commande : .txt"><img src="images/enregistrer methode de synchronisation en php (threads) [ par hanona84 ] slt tous le monde je cherche une methode de synchronisation en php par exemple threads et merci de me donner un exemple réel en utilisant une base d php version [ par fraichor ] Salut mes eternels sauveurs j explore le typo3 et pour cela j aimerais l installer en local. malheureusement , il ne fonctionne k a partir de la vers Insérer les données d'un formulaire généré en php/Mysql [ par nlsitdeo ] Bonjour, Je souhaiterais insérer des données d'un formulaire dans une table commande sachant que les champs de ce formulaire sont déjà générés par u php my admin [ par menyarito ] salut! je suis entraine de faire un script qui permet d'augmenter l'ensemble des prix de vente finaux de 10%.Il marche mais il ne peut pas traiter cha Programmation php!! [ par lorninette ] Voilà j'ai une base de données sous sql server 2008 et je programme avec php, mon but est de créer une interface de statistiques, c'est à dire affiche


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,248 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales