در کتابخانه بزرگ و وسیع PHP ما توابعی داریم که می توانیم از آنها برای ساخت قابلیت های بی نظیر استفاده کنیم. یکی از توابعی که در این کتابخانه عظیم در دسترس است، توابعی مرتبط با Decode و Encode یا همان رمزگذاری و رمزگشایی عبارات و کاراکترهای خاص هستند. با این توابع می توانیم اطلاعاتی را با الگوهای تقریبا قدرتمند رمزگذاری کرده یا اینکه عبارات رمزنگاری شده قبلی را رمزگشایی کنیم. از این توابع بیشتر در طراحی صفحات پروفایل کاربران و جهت دریافت و ذخیره ایمن اطلاعات خصوصی کاربران استفاده کرد مانند شماره حساب ها یا برخی اطلاعات حیاتی کاربر که قصد داریم در دیتابیس ذخیره کنیم و در پنل مدیریت نمایش دهیم. با بیتاک همراه باشید.

تابع base64url_encode
تابع base64url_encode
برای رمزگذاری استفاده می شود و می تواند عبارات قابل خواندن عادی را به عبارات رمزگذاری شده تبدیل کند. از این تابع می توان برای ذخیره اطلاعات در دیتابیس استفاده کرد. نمونه:
<?php
$str = 'This is an encoded string';
echo base64_encode($str);
?>
و خروجی کد بالا عبارت VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
خواهد بود.
در بخش $str
باید فیلد موردنظر یا هر عبارتی که قرار است توسط این تابع رمزگذاری شود به کد معرفی کنید.
کاربرد دیگر این تابع برای آدرس صفحات استفاده می شود. می توانیم در اسکریپت های اختصاصی، در صورت نیاز عنوان یک فایل یا عنوان یک نوشته را رمزگذاری کرده و برای آدرس صفحه از آن استفاده کرد. یک نمونه آزمایشی به این صورت است:
function base64url_encode($plainText) {
$base64 = base64_encode($plainText);
$base64url = strtr($base64, '+/=', '-_,');
return $base64url;
}
تابع base64_decode
تابع base64_decode
برای رمزگشایی عباراتی است که توسط تابع قبلی بر پایه base64 رمزگذاری شده اند. کاربرد این کد زمانی است که بخواهید اطلاعاتی که قبلا رمذگذاری کرده اید را در مکانی از سایت دریافت کرده و به حالت عادی خود نمایش دهید. نمونه ساده این تابع به این صورت است:
<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>
خروجی این کد عبارت This is an encoded string
خواهد بود یعنی دقیقا برعکس مثال تابع base64url_encode
که بالاتر ذکر شده است.
بجای $str
باید فیلد یا اطلاعات رمزگذاری شده را از دیتابیس دریافت کرده و برای این پارامتر تنظیم کنید تا تابع بتواند عملیات رمزگشایی را انجام دهد. و نمونه دوم کاربرد این کد دقیقا برعکس کد تابع قبلی است یعنی به این صورت:
function base64url_decode($plainText) {
$base64url = strtr($plainText, '-_,', '+/=');
$base64 = base64_decode($base64url);
return $base64;
}