راکت

کارنکردن تابع اینکراپت

4 پاسخ

تابع encrypt_pkcs۷ مورد استفاده در کدهای درگاه پرداخت سداد است ولی در نسخه PHP من کار نمیکنه و چند روزی است که پشتیبانی سداد هم نمی تونه کمک کنه و تابع جایگزین بده کسی می تونه کمک کنه؟؟؟
تابع:
'
$SignData=encrypt_pkcs۷("$TerminalId;$OrderId;$Amount","$key");
$data = array('TerminalId'=>$TerminalId,
'MerchantId'=>$MerchantId,
'Amount'=>$Amount,
'SignData'=> $SignData,
'ReturnUrl'=>$ReturnUrl,
'LocalDateTime'=>$LocalDateTime,
'OrderId'=>$OrderId);
'$str_data = json_encode($data);

ثبت پرسش جدید

پاسخ‌ها

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

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

دوست عزیز این تابع مربوط به php نمیشه و توسط خود درگاه پرداخت ایجاد شده طبق چکی که کردم این رو در فایلی با عنوان functions.php قرار دادن که شما این رو باید در کدهای خودتون صدا بزنید و ازش استفاده کنید .

function encrypt_pkcs7($str, $key)
{
    $key = base64_decode($key);
    $block = mcrypt_get_block_size("tripledes", "ecb");
    $pad = $block - (strlen($str) % $block);
    $str .= str_repeat(chr($pad), $pad);
    $ciphertext = mcrypt_encrypt("tripledes", $key, $str,"ecb");
    return base64_encode($ciphertext);
}
محمد بالاگر
محمد بالاگر
@m.balagar

سلام
من این تابع نیز در فایلی بنام function.php نیز اینکلود کردم ولی باز هم اجرا نمیشه !! دوست دیگری می گفت توابع mcrypt تو نسخه php 7.1 منسوخ اعلام شده و خطا میده و تو نسخه های ۷٫۱ به بعد هم کاملا حذف شده . میتونید از php نسخه ۷٫۰ و یا قبل تر استفاده کنید در حالی که نسخه php هاست من PHP version: 7.0.26 است و موندم چکار کنم؟؟

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

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

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

اروری که برمیگردونه رو لطف کنید ارسال کنید

محمد بالاگر
محمد بالاگر
@m.balagar

اصلا اروری نمیده و کاری هم انجام نمیشه!!

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

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