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






