Mengapa Penukaran Hex PHP Saya Gagal Semasa Penyulitan XOR?

Patricia Arquette
Lepaskan: 2024-11-10 19:10:03
asal
513 orang telah melayarinya

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;
}
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan