سلام. این مطلب رو در چند سایت مختلف دیدم، اما هیچ کدام منبع یکسانی رو معرفی نکردند البته گفته شده که سازمان ثبت احوال کشور این فرمول رو ارائه داده. و اما اصل مطلب:
همانطور که می دانید همه ارگانها و سازمانهای دولتی جمهوری اسلامی و شرکتهای تابعه موظف شده اند از این پس فیلد جدیدی در کنار مشخصات افراد به نام کد ملی درج نمایند و تقریبا همه هموطنان عزیز در حال حاضر کارت ملی را دارند. ولی ما به عنوان یک برنامه نویس وقتی در فرمی کد ملی را دریافت می کنیم چگونه از صحت کد وارد شده مطمئن شویم.
سازمان ثبت احوال کشور در راستای ارائه کارت ملی روشی را برای تولید کدهای ملی استفاده نموده است که با استفاده از آنها می توانیم کدهایی داشته باشیم که از امنیت بالایی برخوردار باشند و همچنین قابلیت تقلب نداشته باشند.
همه کدهای ملی ۱۰ رقمی هستند.
کدهای ملی که همه ارقام آنها مثل هم باشند معتبر نیستند مثل:
۰۰۰۰۰۰۰۰۰۰
۱۱۱۱۱۱۱۱۱۱
۲۲۲۲۲۲۲۲۲۲
۳۳۳۳۳۳۳۳۳۳
۴۴۴۴۴۴۴۴۴۴
۵۵۵۵۵۵۵۵۵۵
۶۶۶۶۶۶۶۶۶۶
۷۷۷۷۷۷۷۷۷۷
۸۸۸۸۸۸۸۸۸۸
۹۹۹۹۹۹۹۹۹۹
روش اعتبار سنجی کد ملی :
دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A در نظر می گیریم.
یک مقدار B در نظر می گیریم و آن را برابر با =
(اولین رقم * ۱۰) + ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم * ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم * ۵ ) + ( هفتمین رقم * ۴ ) + ( هشتمین رقم * ۳ ) + ( نهمین رقم * ۲ )
قرار می دهیم.
مقدار C را برابر با = B – (B/11)*11 قرار می دهیم.
اگر مقدار C برابر با صفر باشد و مقدار A برابر C باشد کد ملی صحیح است.
اگر مقدار C برابر با ۱ باشد و مقدار A برابر با ۱ باشد کد ملی صحیح است.
اگر مقدار C بزرگتر از ۱ باشد و مقدار A برابر با ۱۱ – C باشد کد ملی صحیح است.
در پایان یک نمونه کد جاوا اسکریپت جهت چک کردن کد ملی تقدیم می گردد //
کد بالا رو در دلفی پیاده سازی کردم و به صورت dll تهیه کردم که میتونید از لینک زیر دریافت کنید:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Size: 395 KB
این هم تعریف تابع که ورودی اون کد ملی هست و در صورتی که کد وارد شده معتبر باشه true رو به عنوان نتیجه برمیگردونه:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشیدکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by F A R H A D; 03-02-2009 at 10:07.
سلام.
یه اکتیو ایکس(که توسط ثبت احوال انتشار داده شده) و راهنما و نمونه برنامه برای صححت کد ملی در مسیر زیر الصاق کردم
موفق و پیروز باشید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by picher_s; 10-03-2009 at 18:21.
ممنون به خاطر اکتیوایکس دوست عزیز
این که دقیقا همین مطلب هست که اینجا کپی کردم! کامل تر نیست کهدر ضمن مطالب کامل تر دوستمونو در مسیر زیر میتونید پیدا کنید
به هر حال ممنون
با تشکر از دوست عزیز : شاید مطالب زیر هم به دردتون بخوره
با تشكر خيلي دنبال اين الگوريتم بودم
راستي ميشه اين كد رو تو اكسس يا sql مستقيما استفاده كرد
اشكال داره !
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دستان عزیز می تونید از لینک زیر سورس برنامه چند خطی کنترل صحت کد ملی را دریافت کنید
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید![]()
Last edited by BaniSoft; 11-03-2009 at 11:57.
من برنامه کامل دلفی انرا نوشتم البته یکی دیگه از دوستان هم اینکار و کرده بود ولی کامل نبود و در بعضی موارد مشکل داشت.به هر حال اگه کسی لازم داشت بگه تا آپلود کنم
سلام
ممنون میشم اگه برنامه ای که نوشتین آپلود کنین.
سلام
ميتونيد از اين سورس كد براي صحت كد ملي استفاده كنيد :
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)
به اشتراک بگذارید