מדריך | PHP – שיטת ההצפנה Base64 (הצפנה דו כיוונית) ושימושיה

שלום רב!,
במדריך זה החלטתי ללמד על ההצפנה הדו כיוונית הנפוצה ביותר כיום, Base64.
החלטתי לחלק את המדריך לארבעה נושאי אם: "מהי הצפנה דו כיוונית?", "כיצד נצפין מידע?", "כיצד נשחזר מידע?" ו"מהם שימושי הBase64?".

מהי הצפנה דו כיוונית?

הצפנה דו כיוונית היא הצפנה אשר בה אפשר להצפין קוד(לכתוב אותו בשפה שונה), ולאחר מכן לשחזר אותו, להבדיל מהצפנה חד כיוונית(MD5 לדוגמא) שבה אפשר לקחת נתון ולבדוק אם הנתון לאחר הצפנה שווה להצפנה המקורית(ראה מידע נוסף מדריך אודות ה MD5).
לדוגמא:
הצפנו בהצפנה דו כיוונית את המילה "PHP", ונקבל את התוצאה הבאה:

קוד:
UEhQ

לאחר מכן ננסה לשחזר את הקוד ע"י פונקצייה הפוכה ונקבל:

קוד:
PHP

ובמדריך זה אנו נלמד להצפין מידע בשיטת ה Base64.

כיצד נצפין מידע?

על מנת להצפין מידע עלינו להשתמש בפונקצייה מסוג encode(פונקציית הצפנה), בBase64 אנו נשתמש בפונקצייה הבאה: base64_encode() .

תבנית הפונקצייה:

PHP קוד:
<?php
base64_encode
(x);
?>

לדוגמא:

PHP קוד:
<?php
$code 
"Base64 Guide - By Ikki";
$encode base64_encode($code);
echo 
$encode;
?>

יחזיר לנו:

ציטוט:
QmFzZTY0
כיצד נשחזר מידע?

על מנת לשחזר מידע עלינו להשתמש בפונקצייה מסוג decode(פונקציית שיחזור), בBase64 אנו נשתמש בפונקצייה הבאה: base64_decode() .

תבנית הפונקצייה:

PHP קוד:
<?php
base64_encode
(date);
?>

לדוגמא:

PHP קוד:
<?php
$code 
"QmFzZTY0";
$decode base64_decode($code);
echo 
$decode;
?>

יחזיר לנו:

ציטוט:
Base64 Guide – By Ikki
מהם שימושי ה Base64?

בBase64 נוכל להשתמש בשימושים רבים שמצריכים שיחזור.
למשל אם נרצה להצפין את הקוד, כך שרק מי שמכיר את הקוד ידע שצריך לשחזר כדי לערוך, וכך נמנע שינויים בקוד.
נצפין בBase64 ונשחזר בעמוד השיחזור.

או למשל אם נרצה להצפין מידע המועבר ע"י הכתובת, לדוגמא ניצור טופס שבו יוזן אוטמטית כתובת השליחה ע"י הכתובת, ונרצה שישנו זואת רק ע"י מחולל כתובות.
ניצור הצפנה למשתנה זה, ונשחזר.

לסיכום, לשיטת ההצפנה Base64 ישנם שימושים רבים!.