Poster une réponse à un sujet: Hash ELF en PHP
Attention, ce sujet est un sujet ancien (5708 jours sans réponse)
Gras [b]Texte[/b] Italique [i]Italique[/i] Souligné [u]Souligné[/u] Barré [strike]Barré[/strike]
Courriel [email=nobody@nobody.org]Nom[/email] Lien [url=http://www.website.com]Texte[/url] Ancre [anchor]Nom[/anchor] Image [img]http://www.website.com/image.jpg[/img] Insérer une image en provenance du site
Aligné à gauche [align=left]Texte[/align] Centré [align=center]Texte[/align] Aligné à droite [align=right]Texte[/align] Toute la largeur [align=justify]Texte[/text]
Couleur [color=#000000]Text[/color] Mise en forme [highlight=pascal]Texte[/highlight] Widgets Emoticons :code: [:code] Convertisseur HTML vers BBCode Convertisseur Word vers BBCode
Prévisualisation Vérification de l'orthographe

Copier Coller Couper Tout sélectionner
Tout effacer Insérer la date Insérer l'heure Insérer la date et heure Insérer votre IP
Liste [list=square][item]BlaBla[/item][/list] Liste Numérotée [list=decimal][item]BlaBla[/item][/list]
Citation [quote=name]Texte[/quote] Spoiler [spoiler]James est le meurtrier![/spoiler]
Tout en majuscules [uppercase]Texte[/uppercase] Tout en minuscules [lowercase]Texte[/lowercase] l33t [l33t]Je suis un nerd[/l33t] Texte en indice [sub]Texte[/sub] Texte en exposant [sup]Texte[/sup] Taille du texte [size=8]Texte[/size]
 
zion
L'unsigned n'existe pas en PHP :dawa:

Encore une nouvelle raison de moins en faire :tinostar:
ovh
PHP traitant tout comme du signed

P'tain c'est bon à savoir ça :fouyaya:

Merci pour l'info :dawa:
zion
Trouvé, c'est le $x >> 24 qui pose soucis vu que PHP traitant tout comme du signed, si on arrive en négatif le signe est récupéré à chaque >>...

Donc avec un : (($x >> 24) & 0x000000FF)

Ca roule!
zion
Je dois convertir un code simplissime de pascal en PHP:

  1.   function ELFHash(const Str : String) : Cardinal; 
  2. var 
  3.   i : Cardinal; 
  4.   x : Cardinal; 
  5. begin 
  6.   Result := 0
  7.   for i := 1 to Length(Str) do 
  8.   begin 
  9.     Result := (Result shl 4) + Ord(Str[i]); 
  10.     x      := Result and $F0000000; 
  11.     if (x <> 0then 
  12.     begin 
  13.       Result := Result xor (x shr 24); 
  14.     end
  15.     Result := Result and (not x); 
  16.   end
  17. end;


  1.   function GenerateELF($AFile
  2.   { 
  3.     $result = 0
  4.     $i = 0
  5.     $x = 0
  6.     $str = file_get_contents($AFile); 
  7.     for ($i=0$i<strlen($str); $i++) 
  8.     { 
  9.       $chr = $str[$i]; 
  10.       $result = ($result & 0xFFFFFFF) << 4
  11.       $result = ($result + ord($chr)) & 0xFFFFFFFF
  12.       $x = $result & 0xF0000000
  13.       if ($x != 0
  14.         $result = ($result ^ ($x >> 24))  & 0xFFFFFFFF
  15.       $result = (int)($result & (~$x)); 
  16.     } 
  17.     return $result
  18.   }


Et apparemment je me plante qqpart. Déjà avec ce le typage en PHP je rajoute quelques petits & 0xFFFFFFFF pour m'assurer que l'on reste sur 32 bits mais il me manque inévitablement quelque chose ...
Catégorie:  






Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?