Warum schlagen meine PHP-Hex-Konvertierungen während der XOR-Verschlüsselung fehl?

Patricia Arquette
Freigeben: 2024-11-10 19:10:03
Original
468 Leute haben es durchsucht

Why Do My PHP Hex Conversions Fail During XOR Encryption?

Konvertierung zwischen Hex und Strings in PHP

Problem:

Bei der Konvertierung zwischen Strings und Bei hexadezimalen Darstellungen in PHP treten bei der Verwendung der XOR-Verschlüsselung Probleme auf. Insbesondere die Konvertierung von String in Hex kann zu falschen Ergebnissen führen.

Codebeispiele:

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;
}
Nach dem Login kopieren

Lösung:

Anstatt die bereitgestellten Konvertierungsfunktionen zu verwenden, nutzen Sie die integrierten Funktionen bin2hex und hex2bin.

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

hex2bin('74686174277320616c6c20796f75206e656564');
# that's all you need
Nach dem Login kopieren

Diese Funktionen verarbeiten Binärdaten ordnungsgemäß und erzeugen genaue Hexadezimaldarstellungen und String-Konvertierungen.

Das obige ist der detaillierte Inhalt vonWarum schlagen meine PHP-Hex-Konvertierungen während der XOR-Verschlüsselung fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage