سلام وقت بخیر
از دوستان میخوام به کد زیر توجه کنند میخوام جایی گزینی برای 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
بنده مورد مشخصی پیدا نکردم مگر پیشنهاد نصب همین مورد که فکر نمیکنم ایده جالبی باشه
شاید پاسخ شما همینجا باشد
سلام دوست عزیز از کتابخونه زیر استفاده کنید
https://github.com/jedisct1/libsodium
سلام @juza66
منسوخ شده
سلام @mrjavadseydi
ممنون از پیشنهادتون بررسی میشه اما آیا خود php جای گزینی براش نداره؟
@rezayki
تا جایی که مطالعه کردم و احتمال میدم خیر