ตัวสร้างแฮช Argon2
สร้างและตรวจสอบแฮชรหัสผ่าน Argon2 ด้วยพารามิเตอร์ที่กำหนดค่าได้ รองรับรูปแบบ Argon2i, Argon2d และ Argon2id
ตัวบล็อกโฆษณาของคุณทำให้เราแสดงโฆษณาไม่ได้
MiniWebtool ให้ใช้ฟรีได้เพราะมีโฆษณา หากเครื่องมือนี้ช่วยคุณได้ โปรดสนับสนุนเราด้วยการอัปเกรดเพื่อใช้งานแบบไม่มีโฆษณาและใช้ได้มากขึ้นต่อวัน หรืออนุญาต MiniWebtool.com แล้วโหลดใหม่
- อนุญาตโฆษณาสำหรับ MiniWebtool.com แล้วโหลดใหม่
- หรืออัปเกรดเพื่อไม่มีโฆษณาและมีโควตาต่อวันที่สูงขึ้น
เกี่ยวกับ ตัวสร้างแฮช Argon2
ยินดีต้อนรับสู่ ตัวสร้างแฮช Argon2 เครื่องมือออนไลน์ฟรีสำหรับสร้างและตรวจสอบแฮชรหัสผ่าน Argon2 Argon2 ชนะการประกวด Password Hashing Competition ในปี 2015 OWASP แนะนำ Argon2id โดยใช้หน่วยความจำอย่างน้อย 19 MiB ทำซ้ำ 2 รอบ และระดับความขนาน 1 (หรือชุดพารามิเตอร์ที่ให้ผลเทียบเท่ากัน) NIST กำหนดให้ใช้วิธีแฮชรหัสผ่านที่เหมาะสมซึ่งใช้หน่วยความจำสูงหรือทำซ้ำหลายรอบ แต่ไม่ได้รับรอง Argon2 โดยเฉพาะ เครื่องมือนี้รองรับตัวเลือก Argon2 ทั้งสามรูปแบบ (Argon2i, Argon2d, Argon2id) พร้อมพารามิเตอร์ที่กำหนดค่าได้อย่างสมบูรณ์
Argon2 คืออะไรและทำไมจึงแนะนำให้ใช้?
Argon2 เป็นอัลกอริทึมการแฮชรหัสผ่านที่ทันสมัยซึ่งออกแบบโดย Alex Biryukov, Daniel Dinu และ Dmitry Khovratovich จากมหาวิทยาลัยลักเซมเบิร์ก ชนะการประกวด Password Hashing Competition ในปี 2015 และปัจจุบันเป็นอัลกอริทึมที่แนะนำสำหรับการแฮชรหัสผ่านโดยองค์กรด้านความปลอดภัยชั้นนำ
ต่างจากอัลกอริทึมรุ่นเก่าอย่าง MD5, SHA-1 หรือแม้แต่ bcrypt อัลกอริทึม Argon2 ถูกออกแบบมาโดยเฉพาะเพื่อ:
- Memory-hard: ต้องใช้หน่วยความจำจำนวนมาก ทำให้การโจมตีด้วย GPU และ ASIC มีราคาแพง
- กำหนดค่าได้: ปรับหน่วยความจำ เวลา และการทำงานแบบขนานเพื่อสร้างสมดุลระหว่างความปลอดภัยและประสิทธิภาพ
- ทนทานต่อ Side-channel: รูปแบบ Argon2i ช่วยป้องกันการโจมตีด้วยการวิเคราะห์เวลา (Timing attacks)
- รองรับอนาคต: พารามิเตอร์สามารถเพิ่มขึ้นได้ตามประสิทธิภาพของฮาร์ดแวร์ที่พัฒนาขึ้น
อธิบายรูปแบบ Argon2
Argon2i (Data-Independent)
Argon2i ถูกออกแบบมาเพื่อต้านทานการโจมตีทาง Side-channel โดยใช้รูปแบบการเข้าถึงหน่วยความจำที่ไม่ขึ้นกับข้อมูล เหมาะสำหรับการแฮชรหัสผ่านในระบบที่ใช้ทรัพยากรร่วมกันซึ่งกังวลเรื่องการโจมตีด้วยการวิเคราะห์เวลา อย่างไรก็ตาม มันอาจจะมีความเสี่ยงต่อการโจมตีด้วย GPU มากกว่า Argon2d เล็กน้อย
Argon2d (Data-Dependent)
Argon2d ใช้การเข้าถึงหน่วยความจำที่ขึ้นกับข้อมูล ซึ่งให้การต้านทานสูงสุดต่อการโจมตีด้วย GPU แต่จะทำให้เสี่ยงต่อการโจมตีทาง Side-channel เช่น การวิเคราะห์เวลา ควรใช้ Argon2d ในสภาพแวดล้อมที่ไม่กังวลเรื่องการโจมตีทาง Side-channel เท่านั้น
Argon2id (Hybrid - แนะนำ)
Argon2id รวบรวมข้อดีของทั้งสองรูปแบบเข้าด้วยกัน โดยเริ่มจากการประมวลผลแบบ Argon2i เพื่อต้านทานการโจมตีทาง Side-channel แล้วเปลี่ยนเป็น Argon2d เพื่อการต้านทาน GPU สูงสุด แนวทางแบบผสมผสานนี้เป็นที่แนะนำสำหรับแอปพลิเคชันส่วนใหญ่และเป็นตัวเลือกเริ่มต้นในเครื่องมือนี้
| คุณสมบัติ | Argon2i | Argon2d | Argon2id |
|---|---|---|---|
| การต้านทาน Side-channel | แข็งแกร่ง | อ่อนแอ | แข็งแกร่ง |
| การต้านทาน GPU/ASIC | ดี | ยอดเยี่ยม | ยอดเยี่ยม |
| แนะนำสำหรับ | การสร้างคีย์ | คริปโทเคอร์เรนซี | การแฮชรหัสผ่าน |
| คำแนะนำจาก OWASP | ใช่ | จำกัด | หลัก |
ทำความเข้าใจพารามิเตอร์ Argon2
ต้นทุนหน่วยความจำ (Memory Cost)
ต้นทุนหน่วยความจำกำหนดปริมาณ RAM ที่ต้องใช้ในการคำนวณแฮช หน่วยความจำที่มากขึ้นทำให้การโจมตีแบบขนานมีต้นทุนสูงขึ้น OWASP แนะนำ Argon2id โดยใช้หน่วยความจำอย่างน้อย 19 MiB ทำซ้ำ 2 รอบ และระดับความขนาน 1 (หรือชุดพารามิเตอร์ที่ให้ผลเทียบเท่ากัน) สำหรับแอปพลิเคชันที่มีความปลอดภัยสูง ให้พิจารณาใช้ 128 MB ขึ้นไป
ต้นทุนเวลา (จำนวนรอบ - Iterations)
ต้นทุนเวลาควบคุมจำนวนรอบในการประมวลผลหน่วยความจำ จำนวนรอบที่มากขึ้นหมายถึงการแฮชที่ช้าลง ซึ่งเพิ่มความปลอดภัยแต่ก็เพิ่มความล่าช้าในการเข้าสู่ระบบด้วย โดยทั่วไปแนะนำให้ใช้ค่าเป็น 3 สำหรับเว็บแอปพลิเคชัน
การประมวลผลแบบขนาน (Parallelism)
การประมวลผลแบบขนานกำหนดจำนวนเธรดที่ใช้ในการแฮช การทำงานแบบขนานที่สูงขึ้นสามารถเร่งความเร็วในการแฮชบนระบบมัลติคอร์ได้ แต่ก็เพิ่มช่องทางในการโจมตีด้วย ปกติจะใช้ค่าเป็น 4
ความยาวแฮช (Hash Length)
ความยาวของแฮชเอาต์พุตในหน่วยไบต์ 32 ไบต์ (256 บิต) เพียงพอสำหรับแอปพลิเคชันส่วนใหญ่และให้ระดับความปลอดภัยที่กว้างขวาง
Salt
Salt คือข้อมูลสุ่มที่เพิ่มเข้าไปในรหัสผ่านก่อนทำการแฮช เพื่อให้มั่นใจว่ารหัสผ่านที่เหมือนกันจะสร้างแฮชที่แตกต่างกัน ช่วยป้องกันการโจมตีด้วย Rainbow table ควรใช้ Salt ที่ไม่ซ้ำกันและเป็นแบบสุ่มสำหรับรหัสผ่านแต่ละรายการเสมอ เครื่องมือนี้สามารถสร้าง Salt ที่ปลอดภัยให้โดยอัตโนมัติหรือให้คุณกำหนดเองได้
วิธีใช้ตัวสร้างแฮช Argon2 นี้
- เลือกโหมดของคุณ: เลือก 'สร้างแฮช' เพื่อสร้างแฮชใหม่ หรือ 'ตรวจสอบแฮช' เพื่อตรวจสอบว่ารหัสผ่านตรงกับแฮชที่มีอยู่หรือไม่
- กรอกรหัสผ่านของคุณ: พิมพ์หรือวางรหัสผ่านหรือข้อความที่คุณต้องการแฮชลงในช่องป้อนข้อมูล
- เลือกรูปแบบ Argon2: เลือก Argon2id (แนะนำ), Argon2i (ทนทานต่อ Side-channel) หรือ Argon2d (ทนทานต่อ GPU) ตามความต้องการด้านความปลอดภัยของคุณ
- กำหนดค่าพารามิเตอร์: ตั้งค่าต้นทุนหน่วยความจำ (แนะนำ 64 MB), ต้นทุนเวลา (แนะนำ 3 รอบ), การทำงานแบบขนาน (แนะนำ 4 เธรด) และความยาวแฮช (แนะนำ 32 ไบต์)
- สร้างแฮช: คลิกที่ปุ่ม 'สร้างแฮช Argon2' เพื่อสร้างแฮชของคุณ คัดลอกเอาต์พุตที่เข้ารหัสหรือเลขฐานสิบหกสำหรับแอปพลิเคชันของคุณ
พารามิเตอร์ที่แนะนำตามกรณีการใช้งาน
เว็บแอปพลิเคชันทั่วไป
- รูปแบบ: Argon2id
- หน่วยความจำ: 64 MB (65536 KB)
- จำนวนรอบ: 3
- การทำงานแบบขนาน: 4
- ความยาวแฮช: 32 ไบต์
แอปพลิเคชันความปลอดภัยสูง
- รูปแบบ: Argon2id
- หน่วยความจำ: 128 MB (131072 KB)
- จำนวนรอบ: 4
- การทำงานแบบขนาน: 4
- ความยาวแฮช: 32 ไบต์
โปรแกรมจัดการรหัสผ่าน / ความปลอดภัยสูงสุด
- รูปแบบ: Argon2id
- หน่วยความจำ: 256 MB (262144 KB)
- จำนวนรอบ: 5
- การทำงานแบบขนาน: 8
- ความยาวแฮช: 64 ไบต์
ฉันสามารถถอดรหัสแฮช Argon2 ได้หรือไม่?
ไม่ได้ Argon2 เป็นฟังก์ชันแฮชทางเดียว ซึ่งหมายความว่าเป็นไปไม่ได้ในทางปฏิบัติที่จะย้อนกลับแฮชให้เป็นรหัสผ่านเดิม นี่เป็นการออกแบบมาเพื่อปกป้องรหัสผ่านแม้ว่าฐานข้อมูลแฮชจะถูกบุกรุกก็ตาม
ในการตรวจสอบรหัสผ่าน ให้ทำแฮชข้อมูลที่ป้อนด้วยพารามิเตอร์และ Salt เดียวกัน แล้วเปรียบเทียบผลลัพธ์กับแฮชที่เก็บไว้ รูปแบบ Argon2 ที่เข้ารหัสประกอบด้วยพารามิเตอร์ที่จำเป็นทั้งหมด ทำให้การตรวจสอบทำได้โดยตรง
คำถามที่พบบ่อย
Argon2 คืออะไรและทำไมจึงแนะนำให้ใช้?
Argon2 เป็นอัลกอริทึมการแฮชรหัสผ่านสมัยใหม่ที่ชนะการประกวด Password Hashing Competition ในปี 2015 ออกแบบมาเพื่อทนทานต่อการโจมตีด้วย GPU และ ASIC โดยใช้หน่วยความจำและการคำนวณจำนวนมาก OWASP แนะนำ Argon2id โดยใช้หน่วยความจำอย่างน้อย 19 MiB ทำซ้ำ 2 รอบ และระดับความขนาน 1 (หรือชุดพารามิเตอร์ที่ให้ผลเทียบเท่ากัน) NIST กำหนดให้ใช้วิธีแฮชรหัสผ่านที่เหมาะสมซึ่งใช้หน่วยความจำสูงหรือทำซ้ำหลายรอบ แต่ไม่ได้รับรอง Argon2 โดยเฉพาะ
ความแตกต่างระหว่าง Argon2i, Argon2d และ Argon2id คืออะไร?
Argon2d ได้รับการปรับแต่งเพื่อต้านทานการโจมตีด้วย GPU และรวดเร็วกว่า แต่อาจเสี่ยงต่อการโจมตีทาง Side-channel ส่วน Argon2i ออกแบบมาเพื่อต้านทานการโจมตีทาง Side-channel และเหมาะสำหรับการแฮชรหัสผ่านในระบบที่ใช้ทรัพยากรร่วมกัน สำหรับ Argon2id เป็นรูปแบบผสมผสานที่ให้การป้องกันทั้งสองอย่าง และเป็นตัวเลือกที่แนะนำสำหรับแอปพลิเคชันส่วนใหญ่
ควรใช้พารามิเตอร์ใดสำหรับ Argon2?
สำหรับเว็บแอปพลิเคชันส่วนใหญ่ ให้ใช้ Argon2id ที่มีต้นทุนหน่วยความจำ 64 MB, การวนซ้ำ 3 รอบ และ 4 เธรด สำหรับแอปพลิเคชันที่มีความปลอดภัยสูง เช่น โปรแกรมจัดการรหัสผ่าน ให้พิจารณาใช้หน่วยความจำ 128 MB ขึ้นไปและการวนซ้ำ 4 รอบขึ้นไป โดยเป้าหมายคือเวลาในการแฮชประมาณ 500ms บนเซิร์ฟเวอร์ของคุณ
ฉันสามารถถอดรหัสแฮช Argon2 ได้หรือไม่?
ไม่ได้ Argon2 เป็นฟังก์ชันแฮชทางเดียว เป็นไปไม่ได้ในทางปฏิบัติที่จะย้อนกลับแฮชให้เป็นรหัสผ่านเดิม ในการตรวจสอบรหัสผ่าน ให้ทำแฮชข้อมูลที่ป้อนด้วยพารามิเตอร์เดียวกันแล้วเปรียบเทียบผลลัพธ์กับแฮชที่เก็บไว้
Salt คืออะไรและทำไมจึงสำคัญ?
Salt คือข้อมูลสุ่มที่เพิ่มเข้าไปในรหัสผ่านก่อนทำการแฮช เพื่อให้มั่นใจว่ารหัสผ่านที่เหมือนกันจะสร้างแฮชที่แตกต่างกัน ช่วยป้องกันการโจมตีด้วย Rainbow table และทำให้การถอดรหัสหลายรหัสผ่านพร้อมกันทำได้ยากขึ้น ควรใช้ Salt ที่ไม่ซ้ำกันและเป็นแบบสุ่มสำหรับรหัสผ่านแต่ละรายการเสมอ
ตรวจสอบได้อย่างไรว่ารหัสผ่านตรงกับแฮช Argon2 หรือไม่?
ใช้ตัวเลือก Verify Hash โดยป้อนรหัสผ่านที่ต้องการตรวจสอบและแฮช Argon2 ที่จัดเก็บไว้ การตรวจสอบจะดูว่ารหัสผ่านนั้นตรงกับแฮชที่เข้ารหัสไว้และการตั้งค่าของแฮชหรือไม่ ไม่ได้ถอดรหัสแฮชหรือเปิดเผยรหัสผ่านต้นฉบับ หากตรงกัน แสดงว่ารหัสผ่านที่ป้อนถูกต้องสำหรับแฮชนั้น ควรปกป้องแฮชที่จัดเก็บไว้เช่นเดียวกับข้อมูลยืนยันตัวตนอื่น ๆ
สร้างแฮช Argon2 สำหรับรหัสผ่านหลายรายการพร้อมกันได้ไหม?
ได้ แบบฟอร์มรับรหัสผ่านได้สูงสุด 20 รายการ โดยป้อนหนึ่งรายการต่อบรรทัด และสร้างแฮชแยกให้แต่ละรายการ รหัสผ่านแต่ละรายการจะได้รับ salt แบบสุ่มของตัวเอง รหัสผ่านที่เหมือนกันจึงอาจได้สตริงแฮชต่างกัน ฟังก์ชันประมวลผลแบบชุดใช้หน่วยความจำ 64 MB และจำนวนรอบไม่เกินสามรอบตามที่ระบุในแบบฟอร์ม จัดเก็บผลลัพธ์ให้ตรงกับบัญชีหรือระเบียนที่ถูกต้อง เพื่อจะได้ตรวจสอบรหัสผ่านที่เหมาะสมภายหลัง
ทำไมแฮช Argon2 ของรหัสผ่านเดียวกันจึงดูไม่เหมือนกัน?
โดยปกติ Argon2 ใช้ salt แบบสุ่ม การแฮชรหัสผ่านเดียวกันสองครั้งจึงอาจได้ผลลัพธ์ที่เข้ารหัสแล้วต่างกัน ซึ่งเป็นเรื่องปกติและช่วยป้องกันผู้โจมตีสังเกตพบว่ารหัสผ่านในระเบียนที่จัดเก็บไว้ตรงกัน หากต้องการตรวจรหัสผ่าน ให้ใช้การตรวจสอบโดยป้อนรหัสผ่านที่ต้องการเช็กกับแฮชที่จัดเก็บไว้ การเปรียบเทียบสตริงแฮชสองรายการโดยตรงไม่ใช่วิธีตรวจรหัสผ่านที่เชื่อถือได้ ควรเก็บแฮชที่เข้ารหัสไว้ให้ครบ เพราะมีข้อมูลที่จำเป็นต่อการตรวจสอบ
อ้างอิง
- Argon2 - Wikipedia
- คุณสมบัติเฉพาะของ Argon2 (PDF)
- คู่มือสรุปการเก็บรักษารหัสผ่านของ OWASP
- ซอร์สโค้ดอ้างอิง Argon2 (GitHub)
อ้างอิงเนื้อหา หน้าหรือเครื่องมือนี้ว่า:
"ตัวสร้างแฮช Argon2" ที่ https://MiniWebtool.com/th/ตัวสร้างแฮช-argon2/ จาก MiniWebtool, https://MiniWebtool.com/
โดยทีม miniwebtool อัปเดตเมื่อ: 12 ม.ค. 2026
การแฮชและการตรวจสอบ:
- เครื่องคำนวณเช็คซัม Adler32
- ตัวสร้างแฮช Argon2
- เครื่องสร้างและตรวจสอบ Bcrypt Hash ใหม่
- เครื่องสร้างแฮช BLAKE2b
- เครื่องคิดเลข CRC32 Checksum
- เครื่องคำนวณเชคซัม CRC64
- เครื่องสร้างแฮช FNV-1a
- ตัวสร้างแฮช MD5
- ตัวสร้าง MurmurHash3
- เครื่องมือสร้างแฮช RIPEMD-160
- เครื่องจำลองการเข้ารหัส RSA ทีละขั้นตอน
- เครื่องกำเนิดแฮช SHA1
- เครื่องสร้างแฮช SHA224
- เครื่องมือสร้างแฮช SHA256
- เครื่องกำเนิดแฮช SHA384
- เครื่องสร้างแฮช SHA3-256
- ตัวสร้างแฮช SHA3-384
- เครื่องมือสร้างแฮช SHA3-512
- เครื่องกำเนิดแฮช SHA512
- เครื่องสร้างแฮช Whirlpool