Rumah > Artikel > pembangunan bahagian belakang > Mengapa Penukaran Hex PHP Saya Gagal Semasa Penyulitan XOR?
Penukaran Antara Hex dan Rentetan dalam PHP
Masalah:
Apabila menukar antara rentetan dan perwakilan heksadesimal dalam PHP, isu timbul apabila menggunakan penyulitan XOR. Khususnya, penukaran daripada rentetan kepada heks mungkin menghasilkan hasil yang salah.
Sampel Kod:
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; }
Penyelesaian:
Daripada menggunakan fungsi penukaran yang disediakan, gunakan fungsi terbina dalam bin2hex dan hex2bin.
bin2hex("that's all you need"); # 74686174277320616c6c20796f75206e656564 hex2bin('74686174277320616c6c20796f75206e656564'); # that's all you need
Fungsi ini mengendalikan data binari dengan betul dan menghasilkan perwakilan heksadesimal dan penukaran rentetan yang tepat.
Atas ialah kandungan terperinci Mengapa Penukaran Hex PHP Saya Gagal Semasa Penyulitan XOR?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!