IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Conversion MD5 hex en binaire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 152
    Par défaut Conversion MD5 hex en binaire
    Bonsoir à tous,

    Je suis actuellement en train de faire un chiffreur/déchiffreur dans deux langages différents (C++ et PHP). Je voulais m'occuper ici donc du PHP qui est finalement assez simple à mettre en pratique.

    La petite histoire, je chiffre avec la méthode XOR entre un fichier et une clé courte. Cette clé est en fait le MD5 d'un mot de passe. Dans mon code PHP j'ai besoin de récupérer le binaire de cette clé à partir de son code HEX. Je m'explique: J'ai mon mot de passe codé par MD5 sous forme hexadécimal, j'aimerais que PHP le convertisse en binaire comme il le fait avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $key = md5($password, true);
    Ici, $key est une variable binaire. Maintenant j'aimerais donné à PHP la valeur hexadécimal et qu'il me convertisse cet hex en binaire c'est à dire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $keyhex = md5($password, false);
    // $keyhex vaut chez moi 9cdfb439c7876e703e307864c9167a15
    // C'est du binaire affiché en hex, j'aimerais faire l'inverse hex>bin
    Voilà donc chez moi $keyhex c'est 9cdfb439c7876e703e307864c9167a15 maintenant comment le convertir en binaire pour obtenir une donnée traitable par le XOR?
    Cette valeur convertie en binarie doit être égal à $key ! Merci d'avance.

    PS: Pardon je n'ai pas voulu mettre dans la sous-rubrique PHP & SGBD, si quelqu'un pouvait le déplacer dans PHP tout court, merci !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 152
    Par défaut
    Je pense avoir trouvé une solution, si ça peut servir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Function: Convertion hex key in a string into binary
    function hex2bin($h) {
    	if (!is_string($h)) return null;
    	$r = array();
    	for ($a=0; ($a*2)<strlen($h); $a++) {
    		//$r.=chr(hexdec($h{$a}.$h{($a+1)}));
    		$r[$a] = (binary) (hexdec($h[2*$a].$h[(2*$a+1)]));
    	}
    	return $r;
    }
    Si le chiffrage avec xor vous intéresse, j'ai travaillez en C++ et PHP (vous pouvez me pm).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion d'une trame hex en binaire
    Par Mn said dans le forum C++
    Réponses: 9
    Dernier message: 06/03/2015, 13h13
  2. conversion de decimale vers binaire et vice versa
    Par Abdelkaoui dans le forum Qt
    Réponses: 1
    Dernier message: 17/04/2008, 11h53
  3. Conversion RGB <> HEX
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2007, 10h10
  4. Format Intel HEX en binaire
    Par Shikamaru86 dans le forum C
    Réponses: 4
    Dernier message: 13/04/2007, 18h24
  5. conversion de int vers binaire
    Par ben83 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/02/2007, 19h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo