راکت

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

6 پاسخ

سلام وقت بخیر

از دوستان میخوام به کد زیر توجه کنند میخوام جایی گزینی برای 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;
    }
ثبت پرسش جدید

پاسخ‌ها

6
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

reza_yki
reza_yki
@rezayki

تخصص: طراح و برنامه نویس سمت کلاینت Angular و همچنین با وردپرس هم میونه خوبی دارم و براش قالب میزنم :)

سلام @hesammousavi

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

شاید پاسخ شما همین‌جا باشد

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

محمدجواد صیدی
محمدجواد صیدی
@mrjavadseydi

تخصص: برنامه نویس وب

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

reza_yki
reza_yki
@rezayki

تخصص: طراح و برنامه نویس سمت کلاینت Angular و همچنین با وردپرس هم میونه خوبی دارم و براش قالب میزنم :)

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

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

محمدجواد صیدی
محمدجواد صیدی
@mrjavadseydi

تخصص: برنامه نویس وب

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

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

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