อนุทิน #123191

เราจะมีวิธีตรวจสอบรหัสบัตรประชาชนอย่างไร.คงเคยเห็นแบบฟอร์มในการสมัครสมาชิกของหลายๆ เว็บไซต์บังคับให้กรอกเลขที่บัตรประชาชน เช่น เว็บขายของ,
เว็บประเภทเกมส์ออนไลน์, ฯลฯ ก็พลันคิดไปว่าต้องตรวจสอบโดยการติดต่อฐานข้อมูลของกระทรวงมหาดไทยเลยเหรอนี้

อันที่จริงมันไม่ซับซ้อนอย่างที่คิดในการตรวจสอบเลขที่บัตรประชาชนนั้นทำได้โดยการใช้ Check Digit หรือการตรวจสอบความถูกต้องโดยใช้ตัวเลขหลักสุดท้ายใน การตรวจสอบ Algorithm ของวิธีการใช้ Check Digit มีดังนี้

1. ตัวเลขบนบัตรประชาชนจะมีทั้งหมด 13 หลัก นำเลขใน 12 หลักแรก มาคูณกับเลขประจำตำแหน่ง (เลขประจำหลักได้แก่ 13 บวก 1 ลบด้วยตำแหน่งที่) จะได้ตัวเลขประจำตำแหน่งดังนี้

** 13 ที่ใช้ในการคำนวณคือจำนวนตัวเลขทั้งหมดที่ต้องการตรว จสอบ

2. หลังจากนั้นเอาผลคูณของทั้ง 12 หลักมารวมกัน แล้ว modulation (การหารเอาเศษ) ด้วย 11

3. เอาเศษที่ได้จากการหารในข้อ 2 มาลบด้วย 11 เท่านี้ก็ได้เลขที่เป็น Check Digit แล้ว (ถ้าผลจากข้อ 2 ได้ 10 ให้เอาเลขหลักหน่วยเป็น Check Digit ก็คือ 0 นั้นเอง)

ตัวอย่าง 1-2345-67890-12-9
นำไปคูณเลขประจำตำแหน่ง (1*13)+(2*12)+(3*11)+(4*10)+(5*9)+(6*8)+(7*7)+(8*6 )+(9*5)+(0*4)+(1*3)+(2*2) = 352
modulation 11 .... 352%11= 0
นำ 11 ตั้งแล้วลบด้วย 0 11 - 0 = 11 เอาเลขหลักหน่วย ดังนั้น Check Digit คือ 1
อ้าว... นี้มันเลขที่บัตรประชาชนไม่ถูกต้องนี้ ที่ถูกต้องคือ 1-2345-67890-12-1

โดยหลักการคำนวนนี้ สามารถใช้กับเลข 10 หลักอย่างเลขที่บัญชีได้อีกด้วย

ตัวอย่าง 123-4-56789-6
นำไปคูณเลขประจำตำแหน่ง (1*10)+(2*9)+(3*8)+(4*7)+(5*6)+(6*5)+(7*4)+(8*3)+( 9*2) = 210
modulation 8 .... 210%8= 2
นำ 8 ตั้งแล้วลบด้วย 2.... 8 - 2 = 6 เอาเลขหลักหน่วย ดังนั้น Check Digit คือ 6
อ้าว... นี้มันเลขที่บัญชีที่ถูกต้อง



ที่มา  :  http://www.ben.ac.th/news_view.php?newsmainid=26&newsid=25

เขียน:
แก้ไข:

ความเห็น (0)