Encoding and Decoding
ทำไมเราต้องรู้จัก 2 คำนี้ 🔍
เหตุผล
เราจำเป็นที่จะต้องเข้าใจหลักการทำงานของมันเพราะว่า ทั้งในเรื่องของ session เเละ JWT ก็จะมีการใช้ความรู้เกี่ยวกับเรื่อง encode เเละ decode ถึงจะไม่ได้ใช้อะไรมาก เเต่ถ้าเข้าใจก็จะสามารถนำไปต่อยอดได้ง่ายยิ่งขึ้น
เเล้วทำไปเพื่อไรอ่ะ?
ต้องบอกก่อนว่า ทั้ง encode เเละ decode เนี่ย มันไม่ใช่การ encrypt เพื่อรักษาความปลอดภัย เเต่เป็นการเเปลงรูปเเบบของข้อมูลสำหรับการประยุกต์ใช้ในด้านการติดต่อ สื่อสารด้วยข้อมูล
Encoding 🔑
การ Encode คืออะไร?
การ encode คือการที่เรานำข้อมูลจำนวนหนึ่งซึ่งอาจจะเป็นตัวอักขระ ตัวอักษรหรือตัวเลข ไปทำการเปลี่ยนเเปลงจากรูปเเบบปกติให้กลายเป็นรูปเเบบพิเศษ เพื่อให้สามารถนำไปใช้งานต่อได้ อาจจะมองไม่เห็นภาพ งั้นลองไปทำการ encode เเบบง่ายๆเพื่อให้เห็นภาพกันเลยดีกว่า!
Playground
1. ลองกดเข้าไปเล่นในเว็บนี้ https://www.urlencoder.org/
2. เลือกที่ Encode
3. พิมข้อความที่ต้องการ encode ได้เลย
4. เลือก format ตามที่ต้องการเลย ในที่นี้จะลองใช้เป็น UTF-16
5. กด encode ได้เลย
เรียบร้อย ได้ข้อความ "Introduction to JWT 5555" ใน format ใหม่เเล้ว ทีนี้เราลองไปกันต่อที่ decode
Decoding🔑
การ Decode คืออะไร?
การ decode คือการเปลี่ยนเจ้าข้อมูลใน format ใหม่ให้กลับคืนค่าเดิมนั่นเอง
Playground
1. ลองกดเข้าไปเล่นในเว็บนี้ https://www.urlencoder.org/
2. เลือกที่ Decode (อย่าลืม copy ข้อความที่ encode เมื่อพาร์ทก่อนมาด้วยนะ)
3. Paste ข้อความที่ copy มาได้เลย พร้อมกับเลือก format ที่เราใช้กับการ encode
4. กด decode ได้เลย
ผลลัพธ์ก็จะออกมาเหมือนตอนก่อน encode เลยครับ
จบกันไปเเล้วนะครับสำหรับพื้นฐานการ encoding decoding โดยเจ้าตัว JWT เนี่ยก็จะมี algorithm เฉพาะตัวในการ encode เเละ decode เพื่อที่จะได้ตัว json จาก token นั่นเอง
หัวข้อต่อไปจะเป็นเรื่องของ Cookies เเละ Session ครับ ถ้าพร้อมไปเเล้ว ไปกันเลย!