เครื่องตรวจสอบอัลกอริทึมของ Luhn
Luhn ตรวจสอบเฉพาะเลขตรวจสอบ ไม่ได้บอกว่าบัตรยังใช้งานอยู่
อัลกอริทึมลูห์น (ISO/IEC 7812-1) เป็นระบบตรวจสอบค่าซึ่งออกแบบมาเพื่อป้องกันการพิมพ์ผิดตัวเลขเดี่ยวในหมายเลขบัตรเครดิต รหัสระบุอุปกรณ์ IMEI รหัส SIN ของแคนาดา รหัส NPI ของสหรัฐอเมริกา และระบบการจัดลำดับหมายเลขอื่นๆ อีกหลายประเภท โดยเพียงแค่วางลำดับตัวเลขลงมา (ไม่คำนึงถึงช่องว่างหรือเครื่องหมายเส้นสาย) ระบบจะตรวจสอบว่าหมายเลขนั้นผ่านเกณฑ์หรือไม่ และดำเนินขั้นตอนการคูณสองและการรวมผลเป็นจำนวนรวม เพื่อให้คุณสามารถตรวจสอบด้วยตนเองได้หากต้องการ
วิธีการคำนวณการตรวจสอบของลูห์น
-
1
สตริปที่ไม่มีตัวเลข
จะลบช่องว่าง เครื่องหมายเส้นสาย และจุดออกไป ใช้เฉพาะตัวเลข 0 ถึง 9 เท่านั้น
-
2
คูณสองของแต่ละหลักที่สองจากด้านขวา
เริ่มจากหลักล่าสุดก่อน ตัวเลขที่อยู่ทางด้านตรงข้ามจะถูกคูณสองเท่าในทุกครั้ง
-
3
นำเลขของแต่ละค่าที่ถูกคูณสองมารวมกัน
หากผลจากการคูณสองเท่าเป็น 14 ให้เพิ่ม 1 + 4 = 5 เข้าไป ซึ่งเทียบเท่ากับการลบ 9 จากค่าที่เป็นสองเท่าของตัวเลขใดๆ ที่มากกว่าหรือเท่ากับ 10
-
4
ผลรวมของค่าทั้งหมดที่ได้
นำหลักเลขที่ถูกคูณสองและหลักเลขที่ถูกลดลงมาบวกกับหลักเลขที่ไม่ได้เปลี่ยนแปลง
-
5
ตรวจสอบว่าสามารถหารด้วย 10 ได้หรือไม่
หากผลรวมสุดท้ายเป็น 0 ตัวเลขนั้นจะผ่านการตรวจสอบ มิฉะนั้นจะถือว่าไม่ถูกต้อง
ตัวอย่างที่ใช้งานจริง
ตรวจสอบ 4539 1488 0343 6467:
| ตำแหน่ง (ขวา → ซ้าย) | ตัวเลข | เท่าตัวหรือไม่ | ค่า |
|---|---|---|---|
| 1 | 7 | ไม่ | 7 |
| 2 | 6 | ใช่ | 12 → 3 |
| 3 | 4 | ไม่ | 4 |
| 4 | 6 | ใช่ | 12 → 3 |
| 5 | 3 | ไม่ | 3 |
| 6 | 4 | ใช่ | 8 |
| 7 | 3 | ไม่ | 3 |
| 8 | 0 | ใช่ | 0 |
| 9 | 8 | ไม่ | 8 |
| 10 | 8 | ใช่ | 16 → 7 |
| 11 | 4 | ไม่ | 4 |
| 12 | 1 | ใช่ | 2 |
| 13 | 9 | ไม่ | 9 |
| 14 | 3 | ใช่ | 6 |
| 15 | 5 | ไม่ | 5 |
| 16 | 4 | ใช่ | 8 |
ผลรวม: 80 80 ÷ 10 = 0 → ถูกต้อง
สถานที่ที่ใช้ Luhn
| ระบบ | ความยาว | มีการป้องกันตามมาตรฐานลูห์นหรือไม่? |
|---|---|---|
| วีซ่า, มาสเตอร์การ์ด, ดิสคัฟเวอร์ | 13–19 หลัก | ใช่ |
| American Express | 15 หลัก | ใช่ |
| IMEI (รหัสประจำอุปกรณ์ GSM) | 15 หลัก | ใช่ |
| ประกันสังคมของแคนาดา | 9 หลัก | ใช่ |
| รหัสประจำตัวผู้ให้บริการแห่งชาติของสหรัฐอเมริกา | 10 หลัก | ใช่ |
| บัตรประจำตัวประชาชนอิสราเอล (Teudat Zehut) | 9 หลัก | ใช่ |
| ISBN-13 | 13 หลัก | ไม่มี (ใช้การหาร modulo 10 โดยใช้น้ำหนัก 1 และ 3) |
สิ่งที่ Luhn ตรวจพบและสิ่งที่มองข้าม
- ตรวจพบ: ข้อผิดพลาดที่มีเพียงหลักเดียวทุกประเภท และการสลับตำแหน่งของหลักตัวเลขที่อยู่ติดกันส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด)
- ข้อผิดพลาด: การสลับตำแหน่งระหว่างตำแหน่งที่ 09 และ 90 รวมถึงคู่อื่นๆ ที่คล้ายกันหลายคู่ นี่เป็นการตรวจสอบข้อผิดพลาดทางพิมพ์ ไม่ใช่การตรวจสอบความปลอดภัย
- ไม่ใช่ฟีเจอร์ด้านความปลอดภัย หมายเลขที่ผ่านการตรวจสอบตามมาตรฐาน Luhn สามารถสร้างขึ้นได้อย่างง่ายดาย การตรวจสอบความถูกต้องของหมายเลข PAN ที่จุดรับชำระเงินจะใช้ช่วงหมายเลขจากผู้ออกบัตร (issuer ranges), รหัส CVV, ระบบ AVS และระบบ 3-D Secure ไม่ใช่เพียงแค่รหัส Luhn เท่านั้น
คำถามที่พบบ่อย
ไม่ ระบบ Luhn เพียงแค่ตรวจสอบว่าหมายเลขดังกล่าวมีรูปแบบทางคณิตศาสตร์ที่ถูกต้องเท่านั้น โดยไม่ได้ระบุว่าบัตรนั้นได้รับการออกแล้วหรือยัง มีเงินคงเหลืออยู่หรือไม่ หรือถูกขโมยไปหรือไม่ การตรวจสอบความถูกต้องที่แท้จริงจะดำเนินการโดยผู้ออกบัตรในขณะที่มีการอนุมัติ
ใช่, หลักสุดท้ายคือตัวตรวจสอบ ซึ่งสามารถเลือกได้เสมอเพื่อให้ผลรวมหารด้วย 10 ได้ นี่คือกลไกการทำงานของเครื่องสร้างหมายเลข IMEI และหมายเลขบัตรทดสอบ
วิธีการนี้สามารถตรวจจับการแทนที่ของตัวเลขเดี่ยวได้ทุกกรณี และสามารถตรวจจับการสลับตำแหน่งของตัวเลขที่อยู่ติดกันได้ส่วนใหญ่ อย่างไรก็ตาม คู่บางคู่ (เช่น 09 ↔ 90) จะไม่ทำให้ค่าเช็คซัมเปลี่ยนแปลง สำหรับวิธีการที่มีความทนทานมากกว่า เช่น ISBN-13, Verhoeff และ Damm จะแลกความซับซ้อนของโครงสร้างไว้เพื่อเพิ่มความสามารถในการตรวจจับข้อผิดพลาด
โปรแกรมตรวจสอบนี้ทำงานได้ทั้งหมดผ่านเบราว์เซอร์ของคุณ ดังนั้นไม่มีการส่งข้อมูลใดๆ ออกไปเลย แต่การนำข้อมูล PAN แบบเรียลไทม์ไปใช้ในสถานที่ที่ไม่จำเป็นถือเป็นพฤติกรรมที่ไม่เหมาะสม ควรใช้หมายเลขสำหรับทดสอบ (เช่น 4242 4242 4242 4242) เมื่อทำการทดลอง
ลูห์นสามารถใช้งานได้กับความยาวข้อมูลใดๆ แต่จะถูกกำหนดมาตรฐานไว้สำหรับรูปแบบเฉพาะ (โดยทั่วไปคือ 9 ถึง 19 หลัก) ส่วนเครื่องมือตรวจสอบไม่มีการจำกัดความยาวของข้อมูล
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
ตัวตรวจสอบอีเมล
ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Trình kiểm tra thuật toán Luhn [VI]
- Validador do Algoritmo de Luhn [PT]
- Luhn-algoritmens kontrollverktyg [SV]
- أداة فحص خوارزمية Luhn [AR]
- Verificador del Algoritmo de Luhn [ES]
- Luhn-Algorithmus-Prüfer [DE]
- Vérificateur d'algorithme de Luhn [FR]
- Pemeriksa Algoritma Luhn [ID]
- Luhnアルゴリズムチェッカー [JA]
- Luhn 알고리즘 검사기 [KO]
- Luhn-algoritme-checker [NL]
- Walidator algorytmu Luhna [PL]
- Проверка по алгоритму Луна [RU]
- Luhn Algoritma Kontrolcüsü [TR]
- Luhn 算法校验工具 [ZH]
- Luhn Algorithm Checker [EN]
- Controllore dell'Algoritmo di Luhn [IT]