Je pens que $longip est fait de cette maniere :

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 056 fois - Téléchargée 31 fois

Contenu du snippet

bah ma 1ere, ce code fait pareil que $longip. j'ai eu des problemes au debut je savais pas me servir de $gettok il fallait virer les après virgule sans arrondir donc $round n'allez pas bref...
sur papier c'est bien beau mais arriver a le scripté :D bref je voulais montrer le fonctionnement mais avant tout c'etait perso.
quelques notes :
pour passer d'une ip a.b.c.d à h :
h = (a*(256^3)) + (b*(256^2)) + (c*256) + d
pour passer de h à a.b.c.d :
a = h / 256^3
b = (h - (a*(256^3))) / 256^2
c = (h - ((a*(256^3)) + (b*(256^2)))) / 256
d = h - ((a*(256^3)) + (b*(256^2)) + (c*256))
si jme suis pas planter, sdois etre bon. => le code..

Source / Exemple :


alias iplong {
  var %y1 $calc(256^3)
  var %y2 $calc(256^2)
  var %y3 256
  var %ip- $1
  if ( . isin %ip- ) { return $vers(%ip-) }
  if ( . !isin %ip- ) { return $revers(%ip-) }
}
alias revers {
  var %h $1
  var %a $int($calc( %h / %y1 ) )
  var %b $int($calc( ( %h - ( %a * %y1 ) ) / %y2 ) )
  var %c $int($calc( ( %h - ( ( %a * %y1 ) + ( %b * %y2 ) ) ) / %y3 ) )
  var %d $calc( %h - ( ( %a * %y1 ) + ( %b * %y2 ) + ( %c * %y3 ) ) )
  return %a $+ $chr(46) $+ %b $+ $chr(46) $+ %c $+ $chr(46) $+ %d
}
alias vers {
  var %h- $1
  return $calc(( $gettok( %h- ,1,46) * %y1 ) + ( $gettok( %h- ,2,46) * %y2 ) + ( $gettok( %h- ,3,46) * %y3 ) + ( $gettok( %h- ,4,46) ))
}

;-----------------------------------------------------------------
;----"optimisation"----la même chose mais en beaucoup mieux-------

alias iplong {
  if ( . isin $1 ) { return $ipcc($1) }
  if ( . !isin $1 ) { return $ipll($1) }
}
alias ipll {
  var %u 1, %lip $base($1,10,2,32)
  while (32 >= %u) {
    var %rez = %rez $+ $base($mid(%lip,%u,8),2,10) $+ $iif(%u <= 24,., )
    inc %u 8
  }
  return %rez
}
alias ipcc {
  var %i 1 | while (%i <= 4) {
    var %rez = %rez $+ $base($gettok($1,%i,46),10,2,8)
    inc %i
  }
  return $base(%rez,2,10)
}

Conclusion :


$iplong(a.b.c.d) = $longip(a.b.c.d)
$iplong(158.152.50.239) retourne 2660774639
$iplong(2660774639) retourne 158.152.50.239
voilà :) Merci de laisser des msg si une amélioration est à faire, ça me ferait plaisir de la conaitre. (jai mis la source dans tuto pke je savais pas où la mettre à part là)
au fait les dialog c pas mon truc et là ça sert a rien donc..

A voir également

Ajouter un commentaire

Commentaires

skotmarud
Messages postés
119
Date d'inscription
samedi 5 avril 2003
Statut
Membre
Dernière intervention
26 janvier 2008
-
salut,
il parle sans doute du hash crc32 de wanadoo pour les ip ...
cs_PaDa
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
1 -
lol.

(ton comment ne veut rien dire... tu bruteforces quoi ? tu parles de quoi ?)
Mulder44
Messages postés
2
Date d'inscription
mardi 26 septembre 2006
Statut
Membre
Dernière intervention
26 septembre 2006
-
je veux bien la suite pour comprendre moi j'ai un egg qui decode en bruteforce ca ***.***.***.***
cs_tofu
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1 -
il l'a bien fait dans l'esprit et dans les calculs, c'est juste le code qui manque d'optimisation. tout le monde est resté calme jusqu'à preuve du contraire, c'est toi qui vient mettre le feu aux poudres. ça fait déjà deux fois. apprends à lire avant de reply stp.
cs_PaDa
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
1 -
pour une fois que tlm s'accorde a dire que cette source est intéressante même si optimisable ... VestaX tu as lu les commentaires en entier avant de poster ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.