base64_encode() การเข้ารหัสข้อมูลด้วย BASE64 


 BASE64 (เบส 64) คือ วิธีการเข้ารหัสข้อมูลรูปแบบหนึ่ง ที่จะเปลี่ยนข้อความ หรือข้อมูลต้นฉบับไปเป็นข้อความ หรือข้อมูลชุดใหม่ ที่ไม่สามารถอ่าน หรือรู้ว่าข้อมูลชุดนี้คืออะไร ซึ่งการเข้ารหัสชนิดนี้จะแทนที่ข้อมูลด้วยตัวอักษร 64 ตัว นั่นคือที่มาของ BASE64  ซึ่่งวิธีการถอดรหัสด้วยตนเองนั้นค่อนข้างจะซับซ้อน คิอ  จะทําย้อนกลับโดยให้นําข้อมูลมาแปลงเป็นฐานสอง 6 bit มาเรียงต่อกันก่อน แล้วนํามาจัดกลุ่ม กลุ่มละ 8 bit โดย bit สุดท้ายที่เหลือไม่ครบ 8 bit ให้ตัดทิ้ง หลังจากนั้นก็แปลงเลขฐานสอง 8 bit แต่ละชุดเป็นข้อมูล ASCII เท่านี้ก็จะได้ข้อมูลต้นฉบับแล้ว  

สำหรับบทความนี้จะพูดถึงการรหัสรูปแบบ Base64 กันน่ะครับ 

รูแบบ Syntax 

base64_encode ( string $data ) : string

ตัวอย่างการนำไปใช้ในการเข้ารหัส

<?php
$str = 'This is an encoded string';
echo base64_encode($str);
?>

และผลลัพธ์ที่ได้ดังนี้ครับ 

VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

ตัวอย่างที่สอง

<? 
echo base64_encode("zerohate");
?>

ผลลัพธ์ที่ได้

emVyb2hhdGU= 

จะเห็นว่าเราไม่สามารถอ่านหรือเข้าใจผลลัพธ์ที่ได้มาเลย เพราะถูกเข้ารหัสไว้ ถ้าจะถอดรหัสต้องใช้ ฟังก์ชัน base64_decode()  แต่ถ้าหากไม่รู้ว่าถูกเข้ารหัสด้วยอะไรก็คงอยากที่จะมาถอดรหัส เพราะว่า ฟังก์ชันที่ทำหน้าที่เข้ารหัสข้อมูลมีมากมาย ไม่ว่าจะเป็น รูปแบบ MD5 hash  ฟังก์ชั่น sha1 และอื่นๆ สามารถศึกษาได้เพิ่มเติมในเว็บนี้  การเข้ารหัสมีประโยชน์มากมายเช่น เพื่อป้องกันรหัสผ่านของผู้ใช้ เป็นต้น ทั้งนี้บางรูปแบบอาจจะง่ายในการถอดรหัส ควรมีการเข้รหัสหลายชั้นอาจจะเป็นการดีที่สุด

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ท่านใช้ ผู้ให้บริการ internet ของที่ไหนอยู่ ใช้เป็นไงบ้างบ่นให้ฟังกันได้ครับ
โดย mindphp อ 14 มี.ค. 2010 11:59 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
21
30798
อ 05 มี.ค. 2013 12:30 am โดย Supak_true View Topic ท่านใช้ ผู้ให้บริการ internet ของที่ไหนอยู่ ใช้เป็นไงบ้างบ่นให้ฟังกันได้ครับ
มีปัญหาเรื่อง Border ของ Table น่ะครับ
โดย laonped อ 14 มี.ค. 2010 1:08 am บอร์ด HTML CSS
5
7710
ส 02 ก.ค. 2011 5:13 pm โดย jackkbu View Topic มีปัญหาเรื่อง Border ของ Table น่ะครับ
สอบเรื่อง scrollbars หน่อยครับ
โดย soul ส 13 มี.ค. 2010 9:57 am บอร์ด JavaScript & jQuery Ajax & Node.JS
0
1856
ส 13 มี.ค. 2010 9:57 am โดย soul View Topic สอบเรื่อง scrollbars หน่อยครับ
มีปัญหา virtuemart shoppingcart ทับกันกับ logo ทำไงดีครับ
โดย thailandto ศ 12 มี.ค. 2010 9:52 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
1594
ศ 12 มี.ค. 2010 11:01 pm โดย mindphp View Topic มีปัญหา virtuemart shoppingcart ทับกันกับ logo ทำไงดีครับ
รบกวนถามเรื่อง การแสดงค่าของ database หน่อยครับ
โดย soul ศ 12 มี.ค. 2010 10:21 am บอร์ด Programming - PHP
1
1350
ศ 12 มี.ค. 2010 1:18 pm โดย bm8408 View Topic รบกวนถามเรื่อง การแสดงค่าของ database หน่อยครับ
ลง Appserv แล้วเข้า localhost ไม่ได้คับ
โดย idearz พฤ 11 มี.ค. 2010 1:48 pm บอร์ด Programming - PHP
5
7251
พฤ 25 พ.ย. 2010 4:31 pm โดย บุคคลทั่วไป View Topic ลง Appserv แล้วเข้า localhost ไม่ได้คับ
ถ้าผมจะเขียน code ให้ เลือกตามเดือนจากตัวแปรที่กำหนดทำงัยครับ
โดย soul พฤ 11 มี.ค. 2010 11:00 am บอร์ด SQL - Database
1
1476
ศ 12 มี.ค. 2010 11:06 pm โดย mindphp View Topic ถ้าผมจะเขียน code ให้ เลือกตามเดือนจากตัวแปรที่กำหนดทำงัยครับ
ถ้าผมจะเขียน code ให้ เลือกตามเดือนจากตัวแปรที่กำหนดทำงัยครับ
โดย soul พฤ 11 มี.ค. 2010 11:00 am บอร์ด SQL - Database
1
1671
ศ 12 มี.ค. 2010 1:20 pm โดย bm8408 View Topic ถ้าผมจะเขียน code ให้ เลือกตามเดือนจากตัวแปรที่กำหนดทำงัยครับ