Encoding and Decoding
ทำไมเราต้องรู้จัก 2 คำนี้ 🔍
การจัดการ session ทั้งเเบบที่ใช้เเละไม่ใช้ JWT จะใช้การ encode เเละ decode เพื่อส่งข้อมูลระหว่าง Client-Server เราเลยจำเป็นต้องเข้าใจหลักการคร่าว ๆ
เเล้วทำไปเพื่ออะไร?
ทำไปเพื่อเเปลงข้อมูลให้สามารถใช้งานกับระบบอื่น ๆ ได้ เช่น ข้อมูล binary ที่ส่งไปยังอีเมล โดยเป้าหมายของมันไม่ใช่การเก็บความลับของข้อมูลเเต่เป็นการทำให้เเน่ใจว่าผู้รับจะได้ข้อมูลที่ถูกต้องเเละใช้งานต่อได้
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 เลยครับ