مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش کامل رمزنگاری و رمزگشایی در لاراول با مثال


رمزگذاری (Encryption ) ، فرآیند تبدیل یک متن ساده به یک پیام با استفاده از برخی از الگوریتم ها است، به طوری که هیچ شخص سومی، به غیر از مبدا و مقصدِ پیام، نمی تواند اطلاعات را بخواند.

  این امر برای انتقال اطلاعات حساس مفید است. زیراهکرها، به هنگام انتقال اطلاعات بین مبدا و مقصد، شانس کمتری برای دسترسی به اطلاعات، خواهند داشت.

رمزگذاری با استفاده از یک فرایند به نام Cryptography انجام می شود.

متنی که باید رمزگذاری شود، به عنوان متن ساده (Plain Text) نامیده می شود و متن یا پیامی که پس از رمزگذاری به دست می آید، سایفر یا Cipher Text نامیده می شود. فرآیند تبدیل متن رمز(Cipher Text) به متن ساده (Plain Text)، رمزگشایی یا Decryption نامیده می شود.

Laravel از رمزنگاری AES-256 و AES-128 و با استفاده از open SSL  برای رمزگذاری استفاده می کند.

تمام مقادیر موجود در Laravel با استفاده از پروتکل «کد تایید پیام» یا   Message Authentication Code یا MAC ، امضا شده اند تا هرگونه تغییر، در رشته رمزگذاری شده قابل تشخیص باشد.

پیکربندی

دستور استفاده شده برای تولید کلید در Laravel در زیر نشان داده شده است.

php artisan key:generate

این دستور، با استفاده از generator  یا تولید کننده ی بایت های تصادفی و امن در php، یک کلید (key)  تولید می کند. شما می توانید خروجی را در تصویر پایین مشاهده نمایید.

 

 

دستور داده شده در بالا، برای ایجاد کلیدی که می تواند در برنامه وب استفاده شود، به کار گرفته می شود.

نکته

قبل از استفاده از سیستمِ رمزنگاری لاراول، باید در فایلِ پیکربندی config / app.php، مقادیر لازم برای رمزگذاری را وارد کنید.

که شامل دو پارامتر برای رمزگذاری یعنی key  و cipher است.

اگر مقدار key را درست تنظیم نکنید، تمامی مقادیر رمزگذاری شده در Laravel، ناامن خواهند بود.

 

فرآیند رمزنگاری (Encryption)

در لاراول می توان، یک مقدار را با استفاده از تابع کمکی encrypt، در کلاس های Controller، رمزنگاری کرد.

این مقادیر با استفاده از OpenSSL و AES-256 رمزگذاری می شوند. تمامی مقادیر رمز شده با «کدِ تأییدِ پیام (MAC)» امضا شده اند، تا بتوانند هر تغییری در رشته رمزنگاری شده را تشخیص دهند.

کد زیر در یک controller آورده شده است و برای ذخیره یک پیام مخفی یا حساس استفاده می شود.

<?php

 
namespace App\Http\Controllers;

 
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

 
class DemoController extends Controller{
   **
      * Store a secret message for the user.
      *
      * @param Request $request
      * @param int $id
      * @return Response
   */
   
   public function storeSecret(Request $request, $id){
      $user = User::findOrFail($id);
      $user->fill([
         'secret' => encrypt($request->secret)
      ])->save();
   }
}

 

فرایند رمزگشایی (Decryption)

رمزگشایی یک مقدار، با تابع کمکی decrypt helper انجام می شود . کدهای زیر را مشاهده کنید .

use Illuminate\Contracts\Encryption\DecryptException;

 
// Exception for decryption thrown in facade
try {
   $decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
   //
}

لطفا توجه داشته باشید، که اگر فرایند رمزگشایی به دلیل استفاده از MAC نامعتبر به درستی انجام نگیرد، در آن صورت خطای Illuminate\Contracts\Encryption\DecryptException صادر می شود.

فصلِ: 28 , تعداد قسمت ها: 253 , سطح: صفر تا صد

این فصل در یک نگاه:

آشنایی با امکانات جدید لاراول ۷…

برخی از سرفصل های این پکیج آموزشی :   لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید