ESC

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

ข้อความที่เข้ารหัสจะปรากฏที่นี่...
ข้อความที่ถอดรหัสจะปรากฏที่นี่...
การเข้ารหัสและถอดรหัสทั้งหมดเกิดขึ้นในเบราว์เซอร์โดยใช้ Web Crypto API ไม่มีข้อมูลหรือรหัสผ่านถูกส่งไปยังเซิร์ฟเวอร์ใดๆ

ตัวอย่างการใช้งาน

เข้ารหัสข้อความ

เข้ารหัสข้อความง่ายๆ โดยใช้ AES-256-GCM โหมดที่แข็งแกร่งที่สุดพร้อมการยืนยันตัวตนในตัว

ปกป้องข้อมูลที่ละเอียดอ่อน

เข้ารหัสข้อมูลการกำหนดค่าเช่น API key, URL ฐานข้อมูล และ token ก่อนจัดเก็บหรือแชร์

ความเข้ากันได้กับระบบเก่า

เข้ารหัสโดยใช้โหมด AES-CBC ด้วยคีย์ 128 บิตสำหรับความเข้ากันได้กับระบบและไลบรารีเก่า

คุณสมบัติ

AES-GCM และ AES-CBC

รองรับโหมด AES-GCM (การเข้ารหัสที่ยืนยันตัวตน) และ AES-CBC ด้วยคีย์ 128 หรือ 256 บิต

การสร้างคีย์ PBKDF2

การสร้างคีย์จากรหัสผ่านโดยใช้ PBKDF2 ด้วย 100,000 รอบและ SHA-256 เพื่อความปลอดภัยสูงสุด

ผลลัพธ์พกพาได้

ผลลัพธ์ที่เข้ารหัสรวม salt, IV และข้อมูลโหมดในสตริง Base64 เดียวสำหรับการแชร์ที่ง่าย

ความเป็นส่วนตัวมาก่อน

การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์โดยใช้ Web Crypto API

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

1

ป้อนข้อความและรหัสผ่าน

พิมพ์หรือวางข้อความที่ต้องการเข้ารหัสและป้อนรหัสผ่านที่แข็งแกร่ง เลือกโหมดการเข้ารหัสและขนาดคีย์

2

เข้ารหัส

คลิกเข้ารหัสเพื่อสร้างผลลัพธ์ Base64 ที่เข้ารหัส คัดลอกเพื่อจัดเก็บหรือแชร์

3

ถอดรหัส

สลับไปที่แท็บถอดรหัส วางข้อความที่เข้ารหัสและป้อนรหัสผ่านเดิมเพื่อถอดรหัส

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

AES (Advanced Encryption Standard) คืออัลกอริทึมการเข้ารหัสแบบสมมาตรที่ใช้โดยรัฐบาล ธนาคาร และระบบการสื่อสารที่ปลอดภัยเกือบทั้งหมดทั่วโลก คำว่า 'สมมาตร' หมายถึงการใช้คีย์เดียวกันทั้งในการเข้ารหัสและถอดรหัส AES ถูกนำมาใช้เป็นมาตรฐานของรัฐบาลสหรัฐฯ ในปี 2001 และทำงานบนบล็อกข้อมูลขนาดคงที่ (128 บิต) โดยมีความยาวคีย์ที่ 128, 192 หรือ 256 บิต ทั้งนี้ AES-256 ไม่เคยถูกถอดรหัสได้ในทางปฏิบัติ — ช่องโหว่ของการโจมตีอยู่ที่การจัดการรหัสผ่านหรือคีย์ ไม่ใช่ตัวอัลกอริทึมเอง

AES-GCM (Galois/Counter Mode) เป็นการเข้ารหัสแบบตรวจสอบสิทธิ์ (authenticated encryption) — มันไม่เพียงแต่เข้ารหัสข้อมูลของคุณ แต่ยังสร้าง tag สำหรับยืนยันความถูกต้องเพื่อตรวจจับการดัดแปลงใดๆ กับ ciphertext หากมีการแก้ไขแม้เพียงหนึ่งไบต์ของผลลัพธ์ที่เข้ารหัส การถอดรหัสจะล้มเหลวพร้อมแจ้งข้อผิดพลาด ส่วน AES-CBC (Cipher Block Chaining) เป็นมาตรฐานที่เก่ากว่าและเข้ารหัสได้อย่างถูกต้อง แต่ไม่มีการตรวจสอบสิทธิ์ — ผู้โจมตีสามารถดัดแปลง ciphertext ในบางวิธีได้โดยไม่ถูกตรวจจับ ควรใช้ GCM สำหรับการใช้งานใหม่ทั้งหมด และใช้ CBC เฉพาะเมื่อคุณต้องการความเข้ากันได้กับระบบเก่าที่จำเป็นต้องใช้เท่านั้น

PBKDF2 (Password-Based Key Derivation Function 2) ทำหน้าที่แปลงรหัสผ่านที่มนุษย์อ่านออกให้กลายเป็นคีย์ทางคริปโทกราฟิก โดยจะนำรหัสผ่านและ random salt มาผ่านกระบวนการ hashing ด้วย SHA-256 จำนวน 100,000 ครั้ง ความล่าช้าที่ตั้งใจนี้หมายความว่าการเดาจาก brute-force สำหรับรหัสผ่านที่อ่อนแออย่าง "password123" ยังคงต้องใช้เวลาในการรัน SHA-256 จำนวน 100,000 รอบต่อการสุ่มแต่ละครั้ง — ซึ่งช่วยลดความเร็วในการโจมตีลงอย่างมากเมื่อเทียบกับการ hash เพียงครั้งเดียว นอกจากนี้ random salt ยังช่วยให้มั่นใจว่าผู้ใช้สองคนที่ใช้รหัสผ่านเดียวกันจะได้คีย์ที่แตกต่างกันอย่างสิ้นเชิง

ผลลัพธ์คือสตริงที่เข้ารหัสด้วย Base64 เพียงชุดเดียวซึ่งรวมทุกอย่างที่จำเป็นสำหรับการถอดรหัส: random salt (ที่ใช้โดย PBKDF2 เพื่อสร้างคีย์), IV (Initialization Vector, ค่าสุ่มที่ต้องการโดย GCM/CBC), ตัวระบุโหมดการเข้ารหัสและขนาดคีย์ และ ciphertext จริง รูปแบบที่บรรจุในตัวเองนี้หมายความว่าผู้รับต้องการเพียงรหัสผ่านเท่านั้น — สตริงผลลัพธ์สามารถแชร์ต่อสาธารณะได้อย่างปลอดภัยเนื่องจากไม่มีข้อมูลใดที่รวมอยู่ด้วยจะส่งผลกระทบต่อความปลอดภัยของการเข้ารหัส

ได้ ผลลัพธ์ถูกจัดเตรียมไว้ให้พร้อมใช้งาน: ทำการ Base64-decode สตริง จากนั้นแยกส่วน salt (16 ไบต์แรก), IV (12 ไบต์ถัดไปสำหรับ GCM หรือ 16 สำหรับ CBC) และ ciphertext ที่เหลือ รัน PBKDF2 ด้วย SHA-256 และ 100,000 รอบบนรหัสผ่านและ salt เพื่อรับคีย์ จากนั้นทำการถอดรหัสด้วย AES-GCM หรือ AES-CBC โดย Web Crypto API (เบราว์เซอร์), crypto module (Node.js), PyCryptodome (Python) และ javax.crypto (Java) ทั้งหมดรองรับอัลกอริทึมเหล่านี้โดยตรง

สำหรับ AES-GCM การถอดรหัสจะล้มเหลวทันทีพร้อมข้อผิดพลาดการตรวจสอบสิทธิ์เนื่องจาก authentication tag ไม่ตรงกัน นี่คือหนึ่งในข้อดีหลักของ GCM — มันบอกคุณอย่างชัดเจนว่าการถอดรหัสล้มเหลวแทนที่จะผลิตผลลัพธ์ขยะออกมาเงียบๆ ส่วน AES-CBC การถอดรหัสด้วยรหัสผ่านที่ผิดจะให้ผลลัพธ์ที่อ่านไม่รู้เรื่องโดยไม่มีข้อผิดพลาดที่ชัดเจน ทำให้ตรวจจับได้ยากขึ้น ในทั้งสองกรณี ข้อมูลเดิมจะไม่สามารถกู้คืนได้หากไม่มีรหัสผ่านที่ถูกต้อง

AES-256 (คีย์ขนาด 256 บิต) เป็นตัวเลือกที่แนะนำสำหรับการใช้งานใหม่ ความแตกต่างของความยาวคีย์มีความหมายในทางทฤษฎี — AES-128 มีโอกาสเป็นไปได้ 2^128 คีย์ ในขณะที่ AES-256 มี 2^256 ในทางปฏิบัติ ทั้งคู่ไม่สามารถถูกเจาะได้ด้วยเทคโนโลยีปัจจุบัน แต่ AES-256 ให้ความปลอดภัยที่มากขึ้นต่อการโจมตีในอนาคตตามทฤษฎี ความแตกต่างด้านประสิทธิภาพสำหรับการเข้ารหัสข้อความนั้นน้อยมาก ให้ใช้ 128 บิตเฉพาะเมื่อคุณมีความต้องการพิเศษด้านความเข้ากันได้เท่านั้น

ไม่มีอะไรถูกส่งไปยังเซิร์ฟเวอร์เลย การเข้ารหัสและการถอดรหัสทั้งหมดทำงานในเบราว์เซอร์ของคุณโดยใช้ Web Crypto API ซึ่งเป็น Native Browser API ที่ให้การดำเนินการทางคริปโทกราฟิกในสภาพแวดล้อมที่ปลอดภัยและแยกส่วน (sandboxed) ข้อความต้นฉบับ, รหัสผ่าน และ ciphertext ของคุณจะไม่หลุดออกจากอุปกรณ์ของคุณเลย สิ่งนี้ทำให้เครื่องมือนี้ปลอดภัยสำหรับการเข้ารหัสข้อมูลประจำตัวที่สำคัญ, ข้อความส่วนตัว และข้อมูลที่เป็นความลับ

เครื่องมือเข้ารหัส AES คืออะไร?

AES เป็นมาตรฐานเข้ารหัสแบบสมมาตรที่เชื่อถือได้มากที่สุดในปัจจุบัน เครื่องมือนี้ให้คุณเข้ารหัสและถอดรหัสข้อความในเบราว์เซอร์ รองรับ AES-GCM และ AES-CBC คีย์ 128 หรือ 256 บิต พร้อม PBKDF2 100K รอบสำหรับสร้างคีย์จากรหัสผ่าน ข้อมูลไม่ออกจากเครื่องคุณ

ทำไมต้องใช้เครื่องมือนี้?

เข้ารหัสรันในเบราว์เซอร์ 100% ผ่าน Web Crypto API เลือก GCM หรือ CBC คีย์ 128 หรือ 256 บิต ได้ output เป็น Base64 พร้อมแชร์ ไม่ต้องสมัครสมาชิก ไม่ผ่านเซิร์ฟเวอร์ ข้อมูลอยู่กับคุณตลอด

ความปลอดภัยและความเป็นส่วนตัว

ความปลอดภัยของข้อมูลของคุณคือความสำคัญอันดับแรกของเรา

การประมวลผลภายใน

การประมวลผลทั้งหมดเกิดขึ้นในเบราว์เซอร์ของคุณ

ไม่มีการถ่ายโอนข้อมูล

ข้อมูลของคุณจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของเรา

ไม่มีการจัดเก็บข้อมูล

ไม่มีข้อมูลถูกเก็บหรือแบ่งปัน

การเข้ารหัส SSL

การเข้ารหัส SSL สำหรับการเชื่อมต่อที่ปลอดภัย

ขั้นตอนถัดไป

อีกมากมายใน MoreOnlineTools