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 ?

Pourquoi mes conversions de chaîne PHP en hexadécimal et hexadécimal en chaîne produisent-elles des résultats incorrects ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-09 10:52:02408parcourir

Why Do My PHP String to Hex and Hex to String Conversions Produce Incorrect Results?

Conversion de chaîne PHP en hexadécimal et hexadécimal en chaîne

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.

Problème : incohérences dans la conversion hexadécimale et de chaîne

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.

Solution : Utilisation des fonctions PHP intégrées

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 :

  • bin2hex() convertit une chaîne binaire en sa représentation hexadécimale.
  • hex2bin() convertit une chaîne hexadécimale en son binaire représentation.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn