אימות ספרת ביקורת בתעודת זהות באמצעות SQL.

30/07/2014

תגיות: , ,
2 תגובות

מספר תעודת הזהות הוא מספר חד חד ערכי שניתן לכל אזרח במדינת ישראל ואינו ניתן להעברה או שינוי.

בעבר לפני עידן המחשבים, מספר תעודת הזהות לא הכיל סיפרת ביקורת ודבר זה גרם להזנת פרטים שגויים וטעויות. בכדי למנוע הזנת מידע שגוי, נוצרה סיפרת הביקורת שמייצגת חישוב ע"פ אלגוריתם קבוע.

בפוסט הזה אסביר בפשטות כיצד האלגוריתם בנוי והציג זאת בשורת קוד SQL.
ניתן להשתמש בקוד זה במידה והנכם מעוניינים ליצור אילוץ של הכנסת מספר זהות תקין, או ב-UI או לחלופין לתחום קוד זה כ-Store Procedure עם ערך input שהמשתמש מזין מספר זהות ופרמטר Output לקבלת ספרת ביקורת.

הדרך לבדיקת ספרת הביקורת:

הקלידו מספר תעודת זהות (8 ספרות ללא הביקורת) לבעלי מספר תעודת זהות קצרה מ-8 תווים יש להכניס "0" לפני לדוגמא בעלי מספר זהות 1234 מספרם הוא 00001234.

מתחת למספר תעודת הזהות נרשום 12121212 ונבצע מכפלה (1 או 2).

דוגמא למספר זהות                    12345678
מכפלה                                    12121212

כעת נבצע הכפלה (1 כפול 1, 1 כפול 2, וכן הלאה), במידה והתוצאה של מכפלה אחת גדולה מ-9 נחבר את 2 הספרות (לדוגמא: 8 כפול 2 = 16 נבצע 1+6 שיתן לנו תוצאה של 7).

1+4+3+8+5+1+2+7+1+6 = 38

עכשיו נבדוק מה המספר החסר לקבלת מספר עגול (במקרה שלנו זה 40 פחות 38 = 2)
מספר זה הוא סיפרת הביקורת, במידה והמספר שהיה יוצא הוא עגול ספרת הביקורת היא 0.

להלן קוד T-SQL פשוט להצגת ספרת הביקורת

Check_Digit_ID_t-sql
סקריפט עבור יצירת SP לבדיקת ספרת הביקורת
Check_Digit_ID_SP_t-sql

 להורדת הסקריפטים לחץ כאן

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

2 תגובות

  1. גרי רשף02/08/2014 ב 03:09

    כל הכבוד על הבלוג, העדכונים וההשקעה.
    שיהיה לך בהצלחה, ומבטיח לעקוב.

    הגב
  2. בתשבע19/05/2016 ב 13:28

    מעולה!!!

    הגב