Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Penukaran Hex PHP Saya Gagal Semasa Penyulitan XOR?

Mengapa Penukaran Hex PHP Saya Gagal Semasa Penyulitan XOR?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 19:10:03476semak imbas

Why Do My PHP Hex Conversions Fail During XOR Encryption?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn