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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบว่า แคปหน้าจอในโปรแกรม netbean ตอนที่กำลังนำเมาส์ไปชี้ตัวเลือกใน list ได้ยังไงครับ
โดย bankjittapol อ 22 ต.ค. 2019 6:31 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
15
อ 22 ต.ค. 2019 6:43 pm โดย mindphp
ความรู้เกี่ยวกับการบัญชีโรงแรม
โดย nnamfon.26 อ 22 ต.ค. 2019 6:21 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
9
อ 22 ต.ค. 2019 6:21 pm โดย nnamfon.26
จำทำอย่างไรให้ค่า input เดียวเก็บได้หลายตัวแปลครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:39 pm บอร์ด Programming - PHP
3
24
อ 22 ต.ค. 2019 6:30 pm โดย jamepiyawat
Tips : เปิดไฟล์ .CSV ด้วย excel (ข้อมูลในไฟล์มีมากกว่า 1 ล้านแถว)
โดย jataz2 อ 22 ต.ค. 2019 5:19 pm บอร์ด Programming - C/C++ & java & Python
0
6
อ 22 ต.ค. 2019 5:19 pm โดย jataz2
วิธีทำให้ text box มีภาพพื้นหลัง ต้องทำอย่างไร ครับ
โดย jamepiyawat อ 22 ต.ค. 2019 5:19 pm บอร์ด HTML CSS
4
25
อ 22 ต.ค. 2019 6:03 pm โดย jamepiyawat
บัญชีบริหาร คืออะไร
โดย nnamfon.26 อ 22 ต.ค. 2019 5:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
10
อ 22 ต.ค. 2019 5:17 pm โดย nnamfon.26
จะทำอย่างไรให้ข้อความของ placeholder แสดงข้อความได้หลายบรรทัดครับ
โดย jamepiyawat อ 22 ต.ค. 2019 4:41 pm บอร์ด HTML CSS
3
22
อ 22 ต.ค. 2019 6:04 pm โดย jamepiyawat
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย mstsksmstsks อ 22 ต.ค. 2019 4:13 pm บอร์ด HTML CSS
3
16
อ 22 ต.ค. 2019 4:49 pm โดย mindphp
สร้าง selectซ้อน2ชั้น โดยดึงค่าจาก database ใช้แค่ python
โดย May Saithan อ 22 ต.ค. 2019 4:07 pm บอร์ด Programming - C/C++ & java & Python
0
8
อ 22 ต.ค. 2019 4:07 pm โดย May Saithan
judspec.com ที่นี่ มีแบตเตอรี่โน๊ตบุ๊คดีๆ และราคาถูกมากมาย พร้อมจำหน่ายให้คุณแล้ว ทุกรุ่นทุกยี่ห้อ
โดย popeyebkk อ 22 ต.ค. 2019 4:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
5
อ 22 ต.ค. 2019 4:00 pm โดย popeyebkk
อยากทราบโปรแกรมสำหรับแคปภาพหน้าจอและปรับแต่งภาพหลังการแคป ใน windows นอกจากSnipping Toolหน่อยค่ะ
โดย nnamfon.26 อ 22 ต.ค. 2019 3:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
25
อ 22 ต.ค. 2019 4:18 pm โดย nnamfon.26
ต้องการที่จะเก็บข้อมูลลงฐานข้อมูลเป็นตัวเลขและ comme ต้องใช้ type อะไรดีครับ
โดย jamepiyawat อ 22 ต.ค. 2019 3:33 pm บอร์ด SQL - Database
3
20
อ 22 ต.ค. 2019 4:35 pm โดย thatsawan
อยากทราบวิธีการดึงปีปัจจุบันมาแสดง พร้อมกับดึงปีในอนาคตมารให้เลือก ล่วงหน้า อย่างน้อย 10 ใน php
โดย Ittichai_chupol อ 22 ต.ค. 2019 10:52 am บอร์ด Programming - PHP
1
30
อ 22 ต.ค. 2019 11:46 am โดย mindphp
อัพเดทความคืบหน้า / Progress - ThaiVI
โดย mindphp พ 10 ต.ค. 2018 3:49 am บอร์ด ThaiVI (Main)
391
2678
อ 22 ต.ค. 2019 8:13 pm โดย aninthana
จัดพื้นที่กลางห้อง ให้ตอบโจทย์ทุกการใช้งาน
โดย Pattita Dumrongsappakit จ 21 ต.ค. 2019 5:51 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
29
จ 21 ต.ค. 2019 5:51 pm โดย Pattita Dumrongsappakit
การเดินทางจากนครศรีธรรมราชมากรุงเทพฯ
โดย nnamfon.26 จ 21 ต.ค. 2019 5:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
จ 21 ต.ค. 2019 5:09 pm โดย nnamfon.26
การเดินทางจาก พะเยา มา กรุงเทพฯ
โดย bankjittapol จ 21 ต.ค. 2019 4:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
22
จ 21 ต.ค. 2019 4:59 pm โดย thatsawan
รวมสถานที่ท่องเที่ยวภาคเหนือ เที่ยวได้ไม่เบื่อ
โดย Decha Thaweeumanjvaroj จ 21 ต.ค. 2019 1:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
จ 21 ต.ค. 2019 1:12 pm โดย Decha Thaweeumanjvaroj
Let's me learn how to landing on the moon.
โดย Ellie Freedom อ 20 ต.ค. 2019 6:43 pm บอร์ด Programming - PHP
0
27
อ 20 ต.ค. 2019 6:43 pm โดย Ellie Freedom
สอบถามครับ เชื่อมฐานข้อมูล Wordpress ไม่ได้ครับ
โดย chatee supasand ส 19 ต.ค. 2019 4:07 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
112
อ 20 ต.ค. 2019 1:38 pm โดย vmuser