Deux problèmes, donc.
Tout d'abord, je tente depuis quelques temps de communiquer à travers un socket avec un démon Perl distant, en cryptant les communications en Bowlfish. Le système de socket marche, le décryptage égalemement, mais le cryptage persiste à donner des résultats différents de ceux du démon.
Voici les fonctions utilisées.
function encoder($texte) { $texte = stripslashes($texte); $cle = 'KpdFvmwCX4axXNXZ'; $iv = '$KJh#(}q'; $td = mcrypt_module_open(MCRYPT_BLOWFISH, "", MCRYPT_MODE_CBC, ""); mcrypt_generic_init($td, $cle, $iv); $dechifr = mcrypt_generic($td, $texte); mcrypt_generic_deinit($td); mcrypt_module_close($td); return($dechifr); } function decoder($texte) { $cle = 'KpdFvmwCX4axXNXZ'; $iv = '$KJh#(}q'; $td = mcrypt_module_open(MCRYPT_BLOWFISH, "", MCRYPT_MODE_CBC, ""); mcrypt_generic_init($td, $cle, $iv); $temp = trim(mdecrypt_generic($td, trim($temp, "\x00..\x1F")), "\x00..\x1F"); mcrypt_generic_deinit($td); mcrypt_module_close($td); return($temp); }
Le deuxième problème touche à la géneration d'espaces de nommage avec DOM. J'ai probablement mal compris, là aussi
A la base, je crée les attributs en DOM de cette façon :
$root = $tree->createElement('feed'); $root->setAttribute('version', '0.3');
Je pensais donc utiliser un comportement similaire pour les xmlns :
//Essai 1 //$xmlns = $tree->createAttributeNS('http://purl.org/atom/ns#', 'xmlns:atom'); //$root->setAttributeNodeNS($xmlns); //Essai 2 //$root->setAttributeNS('http://purl.org/atom/ns#', 'atom', 'xmlns'); //$root->setAttributeNS('fr', 'lang', 'xml');
Seulement, aucune des deux methodes ne marche. J'ai trituré les arguments dans tous les sens au cas où, aucun changement. L'exception DOM est NAMESPACE_ERR