logo
GeekFormat

เข้ารหัสและถอดรหัส AES

Please read before use

This tool runs entirely in your browser. No plaintext, ciphertext, or key is sent to a server.

It is intended for development, debugging, learning and self-managed scenarios. Do not use this page as the only protection for production secrets, customer data, or anything that requires auditing.

For real applications: use audited libraries (libsodium, OpenSSL, AWS Encryption SDK), a real KDF (Argon2id ≥ 1 iteration / 64 MiB), AEAD modes only, and manage keys on the server with proper access control.

โหมดอัลกอริทึม
ความยาวคีย์
รูปแบบข้อความเข้ารหัส (ผลลัพธ์เข้ารหัส / ข้อมูลเข้าถอดรหัส)
Key source
ข้อความธรรมดา

ข้อความ UTF-8

Mode comparison — GCM vs CBC vs CTR
ModeAuthenticationIV requirementPerformanceRecommended use
AES-GCMYes (AEAD, 128-bit tag)12 bytes (recommended); never reuse with same keyFast, hardware-acceleratedDefault — modern API, file encryption, anything authenticated
AES-CBCNo — must add HMAC/MAC16 bytes; unpredictable (CSPRNG) and never reuseFast, hardware-acceleratedLegacy TLS, disk encryption (XTS-AES), never use raw for new designs
AES-CTRNo — must add HMAC/MAC16 bytes; never reuse with same key (catastrophic if reused)Fastest, parallelizableRandom-access streams, disk encryption, but combine with MAC

Reading the table

  • AES-GCM is the only AEAD among the three — it both encrypts and authenticates in one step. If you don't know which to choose, choose GCM.
  • CBC and CTR only provide confidentiality. They need a separate MAC (HMAC-SHA256, compute-then-MAC) or they are vulnerable to chosen-ciphertext and bit-flipping attacks.
  • Both IV and nonce must be unique per (key, message). GCM with a reused IV leaks the authentication key — treat as catastrophic.

หมายเหตุเกี่ยวกับโหมดและรูปแบบ

  • SubtleCrypto ของเบราว์เซอร์รองรับ AES เฉพาะ GCM, CBC และ CTR — ไม่รวม ECB, CFB หรือ OFB (เพื่อป้องกันการใช้แบบอ่อน) หากต้องการโหมดอื่น โปรดใช้ OpenSSL หรือไลบรารีฝั่งเซิร์ฟเวอร์
  • รูปแบบข้อความเข้ารหัสให้เลือก: Hex / Base64 / Base64URL เข้ากันได้กับ CyberChef, API, JWT เป็นต้น ทั้งสองฝั่ง (เข้ารหัสและถอดรหัส) ต้องเลือกรูปแบบเดียวกัน
  • ใน AES-GCM ผลลัพธ์คือสตรีมไบต์ต่อเนื่องของ 「ข้อความเข้ารหัส + แท็กยืนยันตัวตน」 เครื่องมือนี้จะเข้ารหัสทั้งบล็อกในรูปแบบที่เลือก — วางทั้งบล็อกเมื่อถอดรหัส

หมายเหตุ

  • Web Crypto ทำงานในเบราว์เซอร์ทั้งหมด GCM เป็นการเข้ารหัสแบบยืนยันตัวตน เหมาะสำหรับสถานการณ์เริ่มต้น
  • เมื่อเข้ารหัส ให้เว้น IV ว่าง: เครื่องมือจะสร้าง IV สุ่มและเติมในช่องด้านบน เพื่อใช้ซ้ำเมื่อถอดรหัส
  • เมื่อถอดรหัส ให้เว้น IV ว่างเพื่อลองใช้เวกเตอร์ศูนย์ทั้งหมด (ใช้ได้เฉพาะเมื่ออีกฝ่ายใช้ข้อตกลงเดียวกัน)

เครื่องมือออนไลน์ฟรีสำหรับเข้ารหัสและถอดรหัส AES ด้วย AES-CBC, AES-GCM และ AES-CTR รองรับคีย์ AES-128/192/256, รูปแบบ ciphertext แบบ Hex/Base64/Base64URL, การสร้างคีย์จากรหัสผ่านด้วย PBKDF2-SHA256, การสร้าง IV/salt แบบสุ่ม และการประมวลผล Web Crypto เฉพาะในเบราว์เซอร์

คำแนะนำที่เกี่ยวข้อง

กรณีการใช้งาน

  • เข้ารหัสข้อความสั้นด้วย AES-GCM ก่อนแชร์ผ่านช่องทางที่ควบคุมได้
  • ถอดรหัส API payload ระหว่างการเชื่อม frontend-backend เมื่อต้องเปรียบเทียบ IV, คีย์, โหมด และรูปแบบผลลัพธ์
  • ทดสอบว่า backend ส่งคืน ciphertext เป็น Hex, Base64 หรือ Base64URL แล้วจำลองรูปแบบเดียวกันในเบราว์เซอร์
  • สร้างคีย์ AES ที่ derive ด้วย PBKDF2 จากรหัสผ่าน เพื่อทำความเข้าใจ salt, จำนวน iterations และพฤติกรรมของขนาดคีย์ที่ได้
  • เปรียบเทียบผลลัพธ์ AES-CBC, AES-GCM และ AES-CTR เคียงข้างกัน เพื่อเรียนรู้ความแตกต่างของโหมด symmetric encryption
  • สร้าง deterministic test vectors โดยกำหนดคีย์, IV, salt, plaintext, โหมด, ขนาดคีย์ และ output encoding ให้คงที่

คุณสมบัติ

  • สามโหมดการเข้ารหัส: AES-CBC, AES-GCM แบบ authenticated encryption และ AES-CTR ครอบคลุมงานเข้ารหัสทั่วไป
  • สามขนาดคีย์: AES-128, AES-192 และ AES-256 โดย AES-256 เป็นตัวเลือกเริ่มต้นที่แข็งแรงที่สุด
  • การเข้ารหัสจากรหัสผ่าน: สร้างคีย์ AES ด้วย PBKDF2-SHA256 และ 100,000 iterations แทนการใช้รหัสผ่านอ่อนแอเป็นคีย์โดยตรง
  • ตรวจสอบความแข็งแรงของรหัสผ่านแบบเรียลไทม์: ความยาว ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข สัญลักษณ์ และรหัสผ่านที่พบบ่อย ช่วยให้เลือก密码ที่ปลอดภัยขึ้น
  • สร้าง IV และ salt แบบสุ่ม: คลิกเดียวเพื่อสร้างค่า IV/salt ที่สุ่มตามหลัก cryptography และใส่กลับในหน้าจอเพื่อให้ถอดรหัสซ้ำได้
  • หลายรูปแบบ ciphertext: Hex, Base64 และ Base64URL สำหรับดีบัก API, การส่งข้อมูลสไตล์ JWT, ไฟล์ config และการใช้งานร่วมกับ command line
  • จัดการ authentication tag ของ GCM: เครื่องมือรวม ciphertext + auth tag และแจ้งข้อผิดพลาดเมื่อ ciphertext, คีย์, IV หรือ salt ไม่ตรงกัน
  • Web Crypto เฉพาะในเบราว์เซอร์: การเข้ารหัสและถอดรหัสทำงานในเครื่องเท่านั้น plaintext, ciphertext, รหัสผ่าน และคีย์จะไม่ถูกอัปโหลด
  • คำแนะนำเปรียบเทียบโหมด: มีโน้ตอธิบายว่าควรเลือก GCM, CBC หรือ CTR เมื่อใด และทำไมการใช้ IV/nonce ซ้ำจึงอันตราย
  • เวิร์กโฟลว์คัดลอกที่เหมาะกับนักพัฒนา: คีย์, IV, salts, ciphertext และ plaintext ที่สร้างขึ้นสามารถคัดลอกไปใช้ทดสอบ API และแก้ปัญหาได้ทันที

วิธีการใช้งาน

  1. เลือกโหมดเข้ารหัสหรือถอดรหัส จากนั้นเลือก AES-GCM, AES-CBC หรือ AES-CTR และขนาดคีย์ที่ต้องการ
  2. ใช้คีย์ Hex หรือรหัสผ่านก็ได้ ในโหมดรหัสผ่าน ให้ใส่รหัสผ่านที่แข็งแรงแล้วให้ PBKDF2 สร้างคีย์ AES
  3. เลือกรูปแบบ ciphertext: Hex, Base64 หรือ Base64URL และใช้รูปแบบเดียวกันทั้งตอนเข้ารหัสและถอดรหัส
  4. ตอนเข้ารหัสสามารถปล่อย IV/salt ว่างไว้เพื่อให้สร้างค่าสุ่มที่ปลอดภัยอัตโนมัติ ส่วนตอนถอดรหัสให้วาง IV/salt เดิม หรือใช้ header ที่ฝังมากับโหมดรหัสผ่าน
  5. คัดลอก ciphertext หรือ plaintext ที่ได้ และเก็บโหมด, ขนาดคีย์, IV, salt และรูปแบบไว้ด้วยกัน เพื่อให้ถอดรหัสซ้ำได้

คำถามที่พบบ่อย

AES-CBC, AES-GCM และ AES-CTR ต่างกันอย่างไร?

CBC เป็นโหมดแบบบล็อกดั้งเดิมที่ต้องใช้ IV และต้องมี MAC แยกต่างหากเพื่อยืนยันความถูกต้องของข้อมูล ส่วน GCM เป็นการเข้ารหัสแบบยืนยันตัวตน (AEAD) ที่ตรวจจับการแก้ไขข้อมูลได้ จึงเป็นตัวเลือกเริ่มต้นที่แนะนำสำหรับ API สมัยใหม่ ส่วน CTR ทำให้ AES ทำงานคล้าย stream mode รวดเร็วและทำงานแบบขนานได้ดี แต่ก็ยังต้องใช้ MAC แยกต่างหาก หากไม่แน่ใจ ให้เลือก GCM

PBKDF2 key derivation คืออะไร และทำไมถึงจำเป็น?

PBKDF2 ใช้แปลงรหัสผ่านที่มนุษย์จำได้ให้กลายเป็นคีย์เข้ารหัสที่แข็งแรงกว่า เครื่องมือนี้ใช้ PBKDF2-SHA256 พร้อม 100,000 iterations และ salt แบบสุ่มสำหรับการเข้ารหัสแต่ละครั้ง เมื่อเทียบกับการใช้รหัสผ่านเป็นคีย์โดยตรง PBKDF2 ทำให้การโจมตีแบบ brute force มีต้นทุนสูงขึ้น และป้องกันไม่ให้รหัสผ่านเดียวกันสร้างคีย์ที่ได้เหมือนกัน

โหมดคีย์ Hex กับโหมดรหัสผ่านต่างกันอย่างไร?

โหมดคีย์ Hex ใช้คีย์ hexadecimal แบบดิบความยาว 32/48/64 ตัวอักษร เหมาะเมื่อต้องทำให้ตรงกับ backend API หรือ test vector ที่กำหนดไว้ ส่วนโหมดรหัสผ่านรับรหัสผ่านที่จำได้ง่าย แล้วใช้ PBKDF2 สร้างคีย์ AES พร้อมแนบหรือเก็บข้อมูล salt เพื่อให้สามารถถอดรหัส ciphertext ด้วยรหัสผ่านเดิมได้ในภายหลัง

การตรวจสอบความแข็งแรงของรหัสผ่านดูอะไรบ้าง?

เครื่องมือตรวจสอบความยาวของรหัสผ่าน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข สัญลักษณ์ และรูปแบบรหัสผ่านอ่อนแอที่พบได้บ่อย พร้อมแสดงระดับอ่อน/พอใช้/ดี/แข็งแรง เพื่อช่วยหลีกเลี่ยงรหัสผ่านที่สั้นหรือเดาง่าย สำหรับข้อมูลสำคัญควรใช้รหัสผ่านยาวแบบสุ่มจาก password manager

ทำไมการถอดรหัส AES-GCM ถึงล้มเหลว?

AES-GCM จะตรวจสอบ authentication tag หากล้มเหลวมักหมายความว่าคีย์หรือรหัสผ่านไม่ถูกต้อง, IV หรือ salt ไม่ตรงกัน, ciphertext ถูกแก้ไข, ถอดรหัสรูปแบบผลลัพธ์ผิด หรือเลือกโหมด AES/ขนาดคีย์ไม่ตรงกับตอนเข้ารหัส พารามิเตอร์ทุกตัวจากขั้นตอนเข้ารหัสต้องตรงกันเมื่อถอดรหัส

เครื่องมือ AES ออนไลน์นี้ปลอดภัยไหม?

การทำงานด้าน cryptography ใช้ Web Crypto API ในเบราว์เซอร์ และหน้าเว็บไม่อัปโหลด plaintext, ciphertext, รหัสผ่าน หรือคีย์ เหมาะสำหรับงานพัฒนา การดีบัก API และการเรียนรู้ สำหรับข้อมูล production ที่อ่อนไหวมาก ควรใช้เครื่องมือ local หรือ server-side ที่ผ่านการตรวจสอบ พร้อมการจัดการคีย์ที่เหมาะสม

รองรับความยาวคีย์ AES แบบใดบ้าง?

เครื่องมือนี้รองรับ AES-128 (คีย์ 16 ไบต์), AES-192 (คีย์ 24 ไบต์) และ AES-256 (คีย์ 32 ไบต์) โดย AES-256 เป็นตัวเลือกที่แข็งแรงที่สุดและเหมาะเป็นค่าเริ่มต้น ส่วน AES-128 ยังปลอดภัยและอาจเร็วกว่า ขณะที่ AES-192 มักใช้ตามข้อกำหนดด้าน compliance หรือ interoperability เฉพาะกรณี

ผลลัพธ์แบบ Hex, Base64 และ Base64URL ต่างกันอย่างไร?

Hex อ่านและดีบักง่ายแต่มีขนาดใหญ่กว่า Base64 กระชับกว่าและพบได้บ่อยใน JSON หรือไฟล์ config ส่วน Base64URL จะแทนอักขระที่ไม่สะดวกใน URL และตัด padding ออก จึงเหมาะกับ URL parameters, ฟิลด์สไตล์ JWT และการส่งข้อมูลบนเว็บ

จะถอดรหัส ciphertext ที่สร้างจากเครื่องมือนี้ได้อย่างไร?

ในโหมดรหัสผ่าน salt และ IV จะอยู่ใน header ของผลลัพธ์ที่ encode แล้ว และเครื่องมือสามารถดึงออกมาได้ระหว่างถอดรหัส ส่วนโหมดคีย์ Hex ต้องเก็บคีย์, IV, โหมด, ขนาดคีย์ และรูปแบบผลลัพธ์จากขั้นตอนเข้ารหัสไว้ แล้วกรอกค่าเดียวกันเมื่อต้องการถอดรหัส

ใช้เครื่องมือนี้เรียนรู้การเข้ารหัส AES ได้ไหม?

ได้ คุณสามารถสลับระหว่าง GCM, CBC และ CTR เปรียบเทียบรูปแบบผลลัพธ์ ดูว่า IV และ salt มีผลต่อผลลัพธ์อย่างไร และสังเกตว่า PBKDF2 สร้างคีย์จากรหัสผ่านอย่างไร เป็นวิธีที่ใช้งานจริงในการเข้าใจพฤติกรรมของ AES ก่อนนำไปใช้ในโค้ดแอปพลิเคชัน

การเข้ารหัสและถอดรหัส AES คืออะไร?

AES (Advanced Encryption Standard) คือ symmetric block cipher สมัยใหม่ที่เบราว์เซอร์, TLS stacks, ฐานข้อมูล, บริการ cloud, แอปมือถือ และระบบปฏิบัติการใช้ปกป้องข้อมูลด้วย secret key เดียวกันทั้งตอนเข้ารหัสและถอดรหัส การตั้งค่า AES ที่ถูกต้องไม่ได้มีแค่คีย์ แต่ยังรวมถึงโหมด, IV/nonce, พฤติกรรมของ padding หรือ tag และการ encode ผลลัพธ์ด้วย

AES-GCM เป็นค่าเริ่มต้นที่แนะนำสำหรับงานออกแบบใหม่ เพราะเป็น AEAD: เข้ารหัสข้อมูลและยืนยันความถูกต้องไปพร้อมกัน นั่นหมายความว่าการถอดรหัสจะล้มเหลวหาก ciphertext, คีย์, IV, salt หรือ authentication tag ถูกเปลี่ยน ส่วน CBC และ CTR ให้เพียง confidentiality จึงควรใช้ร่วมกับ MAC แยก เช่น HMAC-SHA256 ในระบบ production

การเข้ารหัสจากรหัสผ่านต้องใช้ key derivation function รหัสผ่านที่มนุษย์ตั้งมักไม่สุ่มพอที่จะใช้เป็นคีย์ AES โดยตรง เครื่องมือนี้จึงใช้ PBKDF2-SHA256 พร้อม 100,000 iterations และ salt แบบสุ่มเพื่อสร้างคีย์ AES จริง salt ช่วยป้องกันไม่ให้รหัสผ่านเดียวกันได้คีย์เดียวกัน และเพิ่มต้นทุนของ brute force attacks

การจัดการ IV และ nonce สำคัญมาก GCM โดยทั่วไปใช้ IV ขนาด 12 ไบต์ และห้ามใช้ IV เดิมซ้ำกับคีย์เดิมเด็ดขาด CBC ใช้ IV ขนาด 16 ไบต์ที่คาดเดาไม่ได้ ส่วน CTR ใช้โครงสร้าง counter/nonce และการใช้ซ้ำอาจทำให้เกิดผลเสียร้ายแรง เครื่องมือนี้สร้าง IV ที่ปลอดภัยให้อัตโนมัติระหว่างเข้ารหัส และแสดงค่าไว้เพื่อให้การถอดรหัสใช้พารามิเตอร์ชุดเดิมได้

หน้านี้ออกแบบมาสำหรับการพัฒนา การดีบัก การเรียนรู้ และการทดสอบการเข้ารหัสที่จัดการเอง สำหรับ production secrets, ข้อมูลที่อยู่ภายใต้ข้อกำกับ และข้อมูลลูกค้า ควรใช้ไลบรารี cryptography ที่ผ่านการ audit, การจัดการคีย์ฝั่งเซิร์ฟเวอร์, access control, audit logs และ KDF สมัยใหม่อย่าง Argon2id เมื่อเหมาะสม

เข้ารหัสและถอดรหัส AESแปลงเสียงเป็น Base64การเข้ารหัส Base32การเข้ารหัส Base58ถอดรหัส Base64 หลายรายการเข้ารหัส Base64 หลายรายการล้างอักขระ Base64แปลง Data URLถอดรหัส Base64เปรียบเทียบ Base64การเข้ารหัส Base64จัดรูปแบบ Base64ตัวแปลง Base64-Hexรวม Base64 หลายบรรทัดMIME Base64จัดการ Padding Base64แยก Base64 หลายบรรทัดสถิติความยาว Base64Base64 เป็นเสียงBase64 เป็นไฟล์Base64 เป็น HexBase64 เป็นรูปภาพBase64 เป็นข้อความBase64 เป็นวิดีโอURL Safe Base64ตรวจสอบรูปแบบ Base64ตัวแปลงรหัส Base85การแปลงเลขฐานสองรหัสซีซาร์ (Caesar Cipher)เข้ารหัสและถอดรหัส DESเครื่องมือคำนวณแฮชไฟล์แปลงไฟล์เป็น Base64เลขฐานสิบหก (Hex)สร้างและตรวจสอบ HMACเข้ารหัสและถอดรหัส HTMLแปลงรูปภาพเป็น Base64ทำให้โค้ด Java อ่านยาก (Obfuscate)ทำให้โค้ด JS อ่านยาก (Obfuscate)ถอดรหัส ตรวจสอบ และสร้าง JWTแฮช MD5ตัวแปลงรหัสมอร์สเครื่องมือสร้างคีย์ PBKDF2ทำให้โค้ด PHP อ่านยาก (Obfuscate)ทำให้โค้ด Python อ่านยาก (Obfuscate)เครื่องมือสร้าง SHA-1 แฮชแฮช SHA-256เครื่องมือสร้าง SHA-512 แฮชเปรียบเทียบข้อความอย่างปลอดภัยแปลงข้อความเป็น Base64ตัวแปลงรหัส Unicodeการเข้ารหัส URLวิดีโอเป็น Base64