by bom_002 » 18/03/2017 10:57 am
BASE64(เบส64) คือ วิธีการเข้ารหัสข้อมูลรูปแบบหนึ่ง ที่จะเปลี่ยนข้อความ หรือข้อมูลต้นฉบับไปเป็นข้อความ หรือข้อมูลชุดใหม่ ที่ไม่สามารถอ่าน หรือรู้ว่าข้อมูลชุดนี้คืออะไร ซึ่งการเข้ารหัสชนิดนี้จะแทนที่ข้อมูลด้วยตัวอักษร 64 ตัว นั่นคือที่มาของ BASE64 ตามตาราง
Table ASCII - Binary Character

- e3.png (15.43 KiB) Viewed 1364 times
วิธีการเข้ารหัส BASE64
ยกตัวอย่าง
ต้องการเข้ารหัสข้อความนี้ "mind" จะมีขั้นตอนคือ
1.นําข้อมูลที่ต้องการเข้ารหัสมาแปลงเป็นเลขฐานสอง 8 bit ดูตามตาราง ASCII - Binary
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 สุดท้าย เป็น 00
0000 ก็จะได้ == สองตัวต่อ
3. แปลงเลขฐาน 2 แบบ 6 bit เป็นเลขฐาน 10
จำนวนบิต จะเริ่มจากขวาไปซ้าย
สูตรการคำนวณบิต n^2
ผลการแปลง
เมื่อนำไปเปรียบเทียบกับตาราง
Table BASE64 จะได้ดังนี้
bWltZA==
อ่านเพิ่มเติมได้ที่..
https://www.mindphp.com/%E0%B8%9A%E0%B8% ... ase64.html
[url=https://www.mindphp.com/forums/viewtopic.php?f=72&t=21036]BASE64(เบส64)[/url] คือ วิธีการเข้ารหัสข้อมูลรูปแบบหนึ่ง ที่จะเปลี่ยนข้อความ หรือข้อมูลต้นฉบับไปเป็นข้อความ หรือข้อมูลชุดใหม่ ที่ไม่สามารถอ่าน หรือรู้ว่าข้อมูลชุดนี้คืออะไร ซึ่งการเข้ารหัสชนิดนี้จะแทนที่ข้อมูลด้วยตัวอักษร 64 ตัว นั่นคือที่มาของ BASE64 ตามตาราง
[b]Table ASCII - Binary Character [/b]
[attachment=0]e3.png[/attachment]
[color=#4000FF][b]วิธีการเข้ารหัส BASE64
[/b][/color]
[b][u]ยกตัวอย่าง[/u][/b]
[b]ต้องการเข้ารหัสข้อความนี้ "mind" จะมีขั้นตอนคือ[/b]
[b]1.นําข้อมูลที่ต้องการเข้ารหัสมาแปลงเป็นเลขฐานสอง 8 bit ดูตามตาราง [u]ASCII - Binary[/u][/b]
m = 01101101
i = 01101001
m = 01101101
d = 01100100
[size=150]01101101 01101001 01101101 01100100[/size]
[b]2.จากนั้น เรียงบิตใหม่จากทางด้านซ้าย แบ่งเลขฐานสองออกเป็นชุด ชุดละ 6 bit กรณีที่ชุดสุดท้ายไม่ครบ ให้เติม 0 ไปจนครบ จะได้ดังนี้[/b]
[size=150]011011 010110 100101 101101 011001 000000[/size]
** bit ที่ถูกเติมเข้าไปที่เป็น 00 แทนด้วย "="
กรณี bit สุดท้าย เป็น 00[u]0000[/u] ก็จะได้ == สองตัวต่อ
[b]3. แปลงเลขฐาน 2 แบบ 6 bit เป็นเลขฐาน 10[/b]
จำนวนบิต จะเริ่มจากขวาไปซ้าย [u]สูตรการคำนวณบิต n^2[/u]
[u][b]ผลการแปลง [/b][/u]
เมื่อนำไปเปรียบเทียบกับตาราง [u][b]Table BASE64[/b][/u] จะได้ดังนี้
[color=#FF0080][b][size=150]bWltZA==[/size][/b][/color]
[b]อ่านเพิ่มเติมได้ที่..[/b]
https://www.mindphp.com/%E0%B8%9A%E0%B8%97%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1/31-%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%A3%E0%B8%B9%E0%B9%89%E0%B8%97%E0%B8%B1%E0%B9%88%E0%B8%A7%E0%B9%84%E0%B8%9B/4082-encoding-decoding-base64.html