ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

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