ให้เรตสมาชิก: 2 / 5

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

วิธีการเข้ารหัส และถอดรหัส BASE64

 

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

Table ASCII - Binary Character (เทเบิ้ล แอสกี้ ไบนารี่ ชาเรคเจอร์)

Table ASCII - Binary Character
Table ASCII - Binary Character

Table BASE64  (เทเบิ้ลเบส 64)

Table BASE64
Table BASE64

วิธีการเข้ารหัส BASE64

ยกตัวอย่าง
ต้องการเข้ารหัสข้อความนี้ "mind" จะมีขั้นตอนคือ

1. นําข้อมูลที่ต้องการเข้ารหัสมาแปลงเป็นเลขฐานสอง 8 bit ดูตามตาราง Table ASCII - Binary Character
m = 01101101
i = 01101001
m = 01101101
d = 01100100

01101101    01101001    01101101     01100100

2. จากนั้น เรียงบิตใหม่จากทางด้านซ้าย แบ่งเลขฐานสองออกเป็นชุด ชุดละ 6 bit กรณีที่ชุดสุดท้ายไม่ครบ ให้เติม 0 ไปจนครบ จะได้ดังนี้

011011  010110  100101  101101  011001  000000

** bit ที่ถูกเติมเข้าไปที่เป็น 00 แทนด้วย "="
กรณี bit สุดท้าย เป็น 000000 ก็จะได้ == สองตัวต่อ

3. แปลงเลขฐาน 2 แบบ 6 bit เป็นเลขฐาน 10
จำนวนบิต จะเริ่มจากขวาไปซ้าย สูตรการคำนวณบิต n^2

ผลการแปลง
ผลการแปลง

 

เมื่อนำไปเปรียบเทียบกับตาราง Table BASE64 จะได้ดังนี้

bWltZA==

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


อ้างอิง
view.officeapps.live.com
thitiblog.com

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีการเพิ่มค่าลดค่า array แต่ละค่าใน php
โดย jamepiyawat พฤ 07 พ.ย. 2019 2:11 pm บอร์ด PHP Knowledge
0
34
พฤ 07 พ.ย. 2019 2:11 pm โดย jamepiyawat
วิธีการใช้ curl เพื่อขอข้อมูลเว็บไซต์
โดย jamepiyawat พฤ 07 พ.ย. 2019 1:46 pm บอร์ด PHP Knowledge
0
37
พฤ 07 พ.ย. 2019 1:46 pm โดย jamepiyawat
Joomla 3.9.13 พร้อมให้อัปเดตแล้ว ปรับปรุงความปลอดภัยและระบบให้ดีขึ้น
โดย tsukasaz พฤ 07 พ.ย. 2019 1:14 pm บอร์ด MindPHP News / Feedback
0
64
พฤ 07 พ.ย. 2019 1:14 pm โดย tsukasaz
VDO - การแนบไฟล์รูปภาพในบอร์ด Mindphp
โดย numtan5839 พฤ 07 พ.ย. 2019 12:28 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
3
27
พ 13 พ.ย. 2019 6:22 pm โดย mindphp
ทำไมข้อมูลของใบแจ้งหนี้ถึงไม่แสดงเมื่อกดHeader for report บนระบบERP
โดย nnamfon.26 พฤ 07 พ.ย. 2019 12:13 pm บอร์ด OpenERP - MD-ERP (Main)
5
17
พฤ 07 พ.ย. 2019 6:35 pm โดย mindphp
จะทำอย่างไรให้เราดึงข้อมูล Email ของ admin joomal ออมมาได้ครับ
โดย jamepiyawat พฤ 07 พ.ย. 2019 11:37 am บอร์ด Joomla Development
4
69
ศ 08 พ.ย. 2019 2:32 pm โดย tsukasaz
ผู้ป่วย 4 โรคเรื้อรัง และมีสิทธิบัตรทอง สามารถขอรับยาที่ร้านขายยาใกล้บ้านได้แล้ว
โดย promotion พฤ 07 พ.ย. 2019 11:16 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
31
พฤ 07 พ.ย. 2019 11:16 am โดย promotion
ทำความเข้าใจกับตัวอักษรที่นำหน้าเลขพัสดุ
โดย numtan5839 พฤ 07 พ.ย. 2019 11:04 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
66
พฤ 07 พ.ย. 2019 11:04 am โดย numtan5839
งานประจำวันที่ 7 พฤศจิกายน 2562
โดย numtan5839 พฤ 07 พ.ย. 2019 10:07 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
9
78
ศ 08 พ.ย. 2019 2:01 pm โดย numtan5839
อยากทราบวิธีการปรับแก้ไข ค่าของคอลลัม in_message ในการแนบไฟล์รูปภาพของ pm ใน phpbb
โดย Ittichai_chupol พ 06 พ.ย. 2019 6:11 pm บอร์ด Programming - PHP
4
106
พ 06 พ.ย. 2019 6:47 pm โดย Ittichai_chupol
4 ขั้นตอนง่ายๆในการทำ Infographic ด้วย Photoshop
โดย numtan5839 พ 06 พ.ย. 2019 6:36 pm บอร์ด Graphic design
0
51
พ 06 พ.ย. 2019 6:36 pm โดย numtan5839
วิธีการสร้าง Brand identity ด้วยโปรแกรม Canva
โดย numtan5839 พ 06 พ.ย. 2019 5:13 pm บอร์ด Graphic design
0
45
พ 06 พ.ย. 2019 5:13 pm โดย numtan5839
ออกแบบ UI ง่ายๆด้วย Adobe illustrator
โดย numtan5839 พ 06 พ.ย. 2019 3:57 pm บอร์ด Graphic design
0
52
พ 06 พ.ย. 2019 3:57 pm โดย numtan5839
การใช้ API ของไปรษณีย์ไทย
โดย bankjittapol พ 06 พ.ย. 2019 2:51 pm บอร์ด PHP Knowledge
0
64
พ 06 พ.ย. 2019 2:51 pm โดย bankjittapol
การปัดเศษ สรรพกรยอมรับการปัดเศษ เเบบรายสินค้า หรือ ยอดรวม ค่ะ
โดย thatsawan พ 06 พ.ย. 2019 11:15 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
47
พ 06 พ.ย. 2019 11:15 am โดย thatsawan
ผู้เล่นตัวจริงในสนาม (Football Lineup) แผนการเล่น เริ่มต้นใน สนาม ผู้เล่นชุดแรก และการจัดตัว
โดย bankjittapol พ 06 พ.ย. 2019 10:49 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
53
พ 06 พ.ย. 2019 10:49 am โดย bankjittapol
งานประจำวันที่ 6 พฤศจิกายน 2562
โดย numtan5839 พ 06 พ.ย. 2019 10:19 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
5
44
พ 06 พ.ย. 2019 6:47 pm โดย numtan5839
ขอ code วนลูป และเก็บใน dictionary
โดย Anonymous อ 05 พ.ย. 2019 7:08 pm บอร์ด Programming - C/C++ & java & Python
1
144
อ 05 พ.ย. 2019 8:07 pm โดย mindphp
max_allowed_packet คืออะไร ฐานข้อมูล MySQL , mariadb
โดย mindphp อ 05 พ.ย. 2019 5:46 pm บอร์ด SQL Knowledge
0
48
อ 05 พ.ย. 2019 5:46 pm โดย mindphp
ฟุตบอล
โดย bankjittapol อ 05 พ.ย. 2019 4:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
60
อ 05 พ.ย. 2019 4:30 pm โดย bankjittapol