ให้เรตสมาชิก: 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

 

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
วิธีต่อ Nodemcu Esp8266 กับ Sensor ตรวจวัดอุณหภูมิและความชื้น DHT11
โดย chaiyasitpraphut อ 12 พ.ย. 2019 2:23 pm บอร์ด IOT - Internet of things
0
35
อ 12 พ.ย. 2019 2:23 pm โดย chaiyasitpraphut
โครงสร้างของภาษา php
โดย chaiyasitpraphut อ 12 พ.ย. 2019 1:38 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
6
อ 12 พ.ย. 2019 1:38 pm โดย chaiyasitpraphut
การเชื่อมต่อฐานข้อมูลด้วย php
โดย chaiyasitpraphut อ 12 พ.ย. 2019 12:08 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
2
15
อ 12 พ.ย. 2019 12:59 pm โดย chaiyasitpraphut
วิธีป้องกันยุงกัดส่งตรงจากธรรมชาติ ปราศจากสารเคมี
โดย somying อ 12 พ.ย. 2019 12:24 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
51
อ 12 พ.ย. 2019 12:24 pm โดย somying
วิธีการลงทุนที่ดีที่สุดสำหรับ "มนุษย์เงินเดือน"
โดย somying อ 12 พ.ย. 2019 12:13 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
104
พ 13 พ.ย. 2019 2:52 pm โดย ritcha
ทำยังไง เมื่อผู้ใช้ต้องการแชร์ รูปแบบแผนการเล่น แล้ว ให้รูปภาพแผนการเล่นนี้แสดงในส่วนของ og image
โดย bankjittapol อ 12 พ.ย. 2019 11:18 am บอร์ด JavaScript & Jquery Ajax
1
66
อ 12 พ.ย. 2019 11:38 am โดย jamepiyawat
จะทำยังไง เมื่อผู้ใช้ กดบันทึกรูปภาพ และให้รุปภาพนั้น เก็บไว้บน server เพื่อที่จะดึงรูปมาให้ ผุ้ใช้ download หรือแสดงภา
โดย bankjittapol อ 12 พ.ย. 2019 11:07 am บอร์ด JavaScript & Jquery Ajax
4
104
อ 12 พ.ย. 2019 8:17 pm โดย thatsawan
ต้องการแสดงรูปภาพ ของนักเตะที่เลือกลงแทนตัว block ตำแหน่งครับ
โดย bankjittapol อ 12 พ.ย. 2019 10:37 am บอร์ด JavaScript & Jquery Ajax
3
105
อ 12 พ.ย. 2019 8:45 pm โดย mindphp
งานประจำวันที่ 12 พฤศจิกายน 2562
โดย numtan5839 อ 12 พ.ย. 2019 10:31 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
14
74
พ 13 พ.ย. 2019 10:44 am โดย numtan5839
งานประจำวันที่ 12 พฤศจิกายน 2562
โดย chaiyasitpraphut อ 12 พ.ย. 2019 9:51 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
6
64
อ 12 พ.ย. 2019 7:03 pm โดย chaiyasitpraphut
การใช้ click กับ onclick เพื่อ hide หรือ show ข้อความ
โดย bankjittapol จ 11 พ.ย. 2019 8:27 pm บอร์ด Jquery & Ajax Knowledge
0
66
จ 11 พ.ย. 2019 8:27 pm โดย bankjittapol
เทคนิคการ Contrast สำหรับงาน Graphic
โดย numtan5839 จ 11 พ.ย. 2019 6:57 pm บอร์ด Graphic design
0
47
จ 11 พ.ย. 2019 6:57 pm โดย numtan5839
การใช้ .attr() jquery เพื่อดึงค่าจาก attribute ของ element หรือกำหนดค่าให้กับ attribute
โดย bankjittapol จ 11 พ.ย. 2019 6:47 pm บอร์ด Jquery & Ajax Knowledge
0
44
จ 11 พ.ย. 2019 6:47 pm โดย bankjittapol
การเดินทางจากจังหวัดศรีสะเกษมากรุงเทพมหานคร
โดย chaiyasitpraphut จ 11 พ.ย. 2019 5:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
60
จ 11 พ.ย. 2019 5:50 pm โดย chaiyasitpraphut
จะทำอย่างไรไม่ให้ Xampp รัน PHP สองเวอร์ชั่น เวอร์ชั่น 7 start ขึ้นมาตอนกด start Xampp เวอร์ชั่น 5 ครับ
โดย jamepiyawat จ 11 พ.ย. 2019 5:16 pm บอร์ด Programming - PHP
2
146
จ 11 พ.ย. 2019 6:29 pm โดย jamepiyawat
Email Client คืออะไร
โดย chatee supasand จ 11 พ.ย. 2019 4:54 pm บอร์ด Share Knowledge
0
44
จ 11 พ.ย. 2019 4:54 pm โดย chatee supasand
เเชร์ความรู้ การใช้ Java script ในการลบ และเลือกใช้ข้อมูล
โดย chaiyasitpraphut จ 11 พ.ย. 2019 4:49 pm บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
27
จ 11 พ.ย. 2019 4:49 pm โดย chaiyasitpraphut
ประโยชน์และการนำค่าเฉลี่ยเคลื่อนที่ไปใช้งาน
โดย numtan5839 จ 11 พ.ย. 2019 2:54 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
47
จ 11 พ.ย. 2019 2:54 pm โดย numtan5839
ค่าเฉลี่ยเคลื่อนที่ (Moving Average)
โดย numtan5839 จ 11 พ.ย. 2019 11:57 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
45
จ 11 พ.ย. 2019 11:57 am โดย numtan5839
Note
โดย chaiyasitpraphut จ 11 พ.ย. 2019 11:26 am บอร์ด MT35 - นายชัยยะสิทธิ์ พระพุทธ
0
2
จ 11 พ.ย. 2019 11:26 am โดย chaiyasitpraphut