In PHP kann die Konvertierung zwischen Strings und hexadezimalen Darstellungen mithilfe von zwei Funktionen erreicht werden: strToHex() und hexToStr() . Allerdings entsteht bei der Verwendung von XOR zur Verschlüsselung eine häufige Herausforderung, bei der die konvertierten Hex-Werte falsche Ergebnisse liefern.
Bei Verwendung der bereitgestellten strToHex() und hexToStr () dient der Konvertierung zwischen einer binären Zeichenfolge („Das ist der Test“) und ihrer hexadezimalen Darstellung (12181d15501d15500e15541215712). Die resultierende dekodierte Zeichenfolge („↕ ↑↔§P↔§P♫§T↕§q“) unterscheidet sich von der Original.
Als problemlose Alternative bietet PHP integrierte Funktionen zum Konvertieren zwischen binären Zeichenfolgen und hexadezimalen Darstellungen:
Beispielverwendung:
$binaryString = "that's all you need"; $hexRepresentation = bin2hex($binaryString); // Result: 74686174277320616c6c20796f75206e656564 $decodedBinaryString = hex2bin($hexRepresentation); // Result: that's all you need
Diese integrierten Funktionen bieten zuverlässige und genaue Konvertierungen und beseitigen die Inkonsistenzen, die bei der Verwendung benutzerdefinierter Funktionen auftreten.
Das obige ist der detaillierte Inhalt vonWarum führen meine PHP-String-zu-Hex- und Hex-zu-String-Konvertierungen zu falschen Ergebnissen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!