שלום רב!,
במדריך זה החלטתי ללמד על ההצפנה הדו כיוונית הנפוצה ביותר כיום, Base64.
החלטתי לחלק את המדריך לארבעה נושאי אם: "מהי הצפנה דו כיוונית?", "כיצד נצפין מידע?", "כיצד נשחזר מידע?" ו"מהם שימושי הBase64?".
הצפנה דו כיוונית היא הצפנה אשר בה אפשר להצפין קוד(לכתוב אותו בשפה שונה), ולאחר מכן לשחזר אותו, להבדיל מהצפנה חד כיוונית(MD5 לדוגמא) שבה אפשר לקחת נתון ולבדוק אם הנתון לאחר הצפנה שווה להצפנה המקורית(ראה מידע נוסף מדריך אודות ה MD5).
לדוגמא:
הצפנו בהצפנה דו כיוונית את המילה "PHP", ונקבל את התוצאה הבאה:
UEhQ
לאחר מכן ננסה לשחזר את הקוד ע"י פונקצייה הפוכה ונקבל:
PHP
ובמדריך זה אנו נלמד להצפין מידע בשיטת ה Base64.
על מנת להצפין מידע עלינו להשתמש בפונקצייה מסוג encode(פונקציית הצפנה), בBase64 אנו נשתמש בפונקצייה הבאה: base64_encode() .
תבנית הפונקצייה:
<?php
base64_encode(x);
?>
לדוגמא:
<?php
$code = "Base64 Guide - By Ikki";
$encode = base64_encode($code);
echo $encode;
?>
יחזיר לנו:
QmFzZTY0 |
על מנת לשחזר מידע עלינו להשתמש בפונקצייה מסוג decode(פונקציית שיחזור), בBase64 אנו נשתמש בפונקצייה הבאה: base64_decode() .
תבנית הפונקצייה:
<?php
base64_encode(date);
?>
לדוגמא:
<?php
$code = "QmFzZTY0";
$decode = base64_decode($code);
echo $decode;
?>
יחזיר לנו:
Base64 Guide – By Ikki |
בBase64 נוכל להשתמש בשימושים רבים שמצריכים שיחזור.
למשל אם נרצה להצפין את הקוד, כך שרק מי שמכיר את הקוד ידע שצריך לשחזר כדי לערוך, וכך נמנע שינויים בקוד.
נצפין בBase64 ונשחזר בעמוד השיחזור.
או למשל אם נרצה להצפין מידע המועבר ע"י הכתובת, לדוגמא ניצור טופס שבו יוזן אוטמטית כתובת השליחה ע"י הכתובת, ונרצה שישנו זואת רק ע"י מחולל כתובות.
ניצור הצפנה למשתנה זה, ונשחזר.
לסיכום, לשיטת ההצפנה Base64 ישנם שימושים רבים!.