reza_yki
3 سال پیش توسط reza_yki مطرح شد
6 پاسخ

جای گزین برای mcrypt برای نسخه های بالاتر از 7.1 php

سلام وقت بخیر

از دوستان میخوام به کد زیر توجه کنند میخوام جایی گزینی برای mcrypt قرار بدم تو هر جای این کد که استفاده شده چون از نسخه 7.1 به بعد پشتیبانی نمیکنه ممنون میشم کمکم کنید

public function mc_encrypt($encrypt, $key){
        $encrypt = serialize($encrypt);
        $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC), MCRYPT_DEV_URANDOM);
        $key = pack('H*', $key);
        $mac = hash_hmac('sha256', $encrypt, substr(bin2hex($key), -32));
        $passcrypt = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $encrypt.$mac, MCRYPT_MODE_CBC, $iv);
        $encoded = base64_encode($passcrypt).'|'.base64_encode($iv);
        return $encoded;
    }
    public function mc_decrypt($decrypt, $key){
        $decrypt = explode('|', $decrypt.'|');
        $decoded = base64_decode($decrypt[0]);
        $iv = base64_decode($decrypt[1]);
        if(strlen($iv)!==mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC)){ return false; }
        $key = pack('H*', $key);
        $decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $decoded, MCRYPT_MODE_CBC, $iv));
        $mac = substr($decrypted, -64);
        $decrypted = substr($decrypted, 0, -64);
        $calcmac = hash_hmac('sha256', $decrypted, substr(bin2hex($key), -32));
        if($calcmac!==$mac){ return false; }
        $decrypted = unserialize($decrypted);
        return $decrypted;
    }

ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 3 سال پیش مطرح شد
0

درود بر شما ببینید خود php زمانی که در ورژن 7.1 حذفش کرده چی رو پیشنهاد داده از همون استفاده بفرمایید


reza_yki
تخصص : طراح و برنامه نویس سمت کلاینت...
@rezayki 3 سال پیش مطرح شد
0

سلام @hesammousavi

بنده مورد مشخصی پیدا نکردم مگر پیشنهاد نصب همین مورد که فکر نمیکنم ایده جالبی باشه


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
محمدجواد صیدی
تخصص : برنامه نویس وب
@mrjavadseydi 3 سال پیش مطرح شد
0

سلام دوست عزیز از کتابخونه زیر استفاده کنید
https://github.com/jedisct1/libsodium


reza_yki
تخصص : طراح و برنامه نویس سمت کلاینت...
@rezayki 3 سال پیش مطرح شد
0

سلام @juza66
منسوخ شده

سلام @mrjavadseydi
ممنون از پیشنهادتون بررسی میشه اما آیا خود php جای گزینی براش نداره؟


محمدجواد صیدی
تخصص : برنامه نویس وب
@mrjavadseydi 3 سال پیش مطرح شد
0

@rezayki
تا جایی که مطالعه کردم و احتمال میدم خیر


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام