Maison >développement back-end >tutoriel php >Pourquoi mes conversions PHP Hex échouent-elles pendant le cryptage XOR ?

Pourquoi mes conversions PHP Hex échouent-elles pendant le cryptage XOR ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-10 19:10:03555parcourir

Why Do My PHP Hex Conversions Fail During XOR Encryption?

Conversion entre hexadécimal et chaînes en PHP

Problème :

Lors de la conversion entre chaînes et Représentations hexadécimales en PHP, des problèmes surviennent lors de l'utilisation du cryptage XOR. Plus précisément, la conversion de chaîne en hexadécimal peut produire des résultats incorrects.

Exemples de code :

function strToHex($string){
    $hex='';
    for ($i=0; $i < strlen($string); $i++){
        $hex .= dechex(ord($string[$i]));
    }
    return $hex;
}


function hexToStr($hex){
    $string='';
    for ($i=0; $i < strlen($hex)-1; $i+=2){
        $string .= chr(hexdec($hex[$i].$hex[$i+1]));
    }
    return $string;
}

Solution :

Au lieu d'utiliser les fonctions de conversion fournies, utilisez les fonctions intégrées bin2hex et hex2bin.

bin2hex("that's all you need");
# 74686174277320616c6c20796f75206e656564

hex2bin('74686174277320616c6c20796f75206e656564');
# that's all you need

Ces fonctions gèrent correctement les données binaires et produisent des représentations hexadécimales et des conversions de chaînes précises.

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