Maison > Article > développement back-end > Pourquoi mes conversions de chaîne PHP en hexadécimal et hexadécimal en chaîne produisent-elles des résultats incorrects ?
En PHP, la conversion entre les chaînes et les représentations hexadécimales peut être réalisée à l'aide de deux fonctions : strToHex() et hexToStr() . Cependant, un défi courant survient lors de l'utilisation de XOR pour le chiffrement, où les valeurs hexadécimales converties produisent des résultats incorrects.
Lors de l'utilisation des strToHex() et hexToStr fournis () fonctions pour convertir entre une chaîne binaire ("c'est le test") et sa représentation hexadécimale (12181d15501d15500e15541215712), la chaîne décodée résultante ("↕↑↔§P↔§P♫§T↕§q") diffère de l'original.
Pour une alternative sans tracas, PHP propose des fonctions intégrées pour la conversion entre des chaînes binaires et des représentations hexadécimales :
Exemple d'utilisation :
$binaryString = "that's all you need"; $hexRepresentation = bin2hex($binaryString); // Result: 74686174277320616c6c20796f75206e656564 $decodedBinaryString = hex2bin($hexRepresentation); // Result: that's all you need
Ces fonctions intégrées fournissent des conversions fiables et précises, éliminant les incohérences rencontrées lors de l'utilisation de fonctions personnalisées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!