تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 2 اولاول 12
نمايش نتايج 11 به 14 از 14

نام تاپيک: فرمول تشخیص صحت کد ملی (کارت ملی شناسایی)

  1. #11
    در آغاز فعالیت
    تاريخ عضويت
    Jan 2008
    پست ها
    2

    پيش فرض

    سلام. این مطلب رو در چند سایت مختلف دیدم، اما هیچ کدام منبع یکسانی رو معرفی نکردند البته گفته شده که سازمان ثبت احوال کشور این فرمول رو ارائه داده. و اما اصل مطلب:

    همانطور که می دانید همه ارگانها و سازمانهای دولتی جمهوری اسلامی و شرکتهای تابعه موظف شده اند از این پس فیلد جدیدی در کنار مشخصات افراد به نام کد ملی درج نمایند و تقریبا همه هموطنان عزیز در حال حاضر کارت ملی را دارند. ولی ما به عنوان یک برنامه نویس وقتی در فرمی کد ملی را دریافت می کنیم چگونه از صحت کد وارد شده مطمئن شویم.

    سازمان ثبت احوال کشور در راستای ارائه کارت ملی روشی را برای تولید کدهای ملی استفاده نموده است که با استفاده از آنها می توانیم کدهایی داشته باشیم که از امنیت بالایی برخوردار باشند و همچنین قابلیت تقلب نداشته باشند.

    همه کدهای ملی ۱۰ رقمی هستند.

    کدهای ملی که همه ارقام آنها مثل هم باشند معتبر نیستند مثل:

    ۰۰۰۰۰۰۰۰۰۰
    ۱۱۱۱۱۱۱۱۱۱
    ۲۲۲۲۲۲۲۲۲۲
    ۳۳۳۳۳۳۳۳۳۳
    ۴۴۴۴۴۴۴۴۴۴
    ۵۵۵۵۵۵۵۵۵۵
    ۶۶۶۶۶۶۶۶۶۶
    ۷۷۷۷۷۷۷۷۷۷
    ۸۸۸۸۸۸۸۸۸۸
    ۹۹۹۹۹۹۹۹۹۹

    روش اعتبار سنجی کد ملی :

    دهمین رقم شماره ملی را ( از سمت چپ ) به عنوان A در نظر می گیریم.

    یک مقدار B در نظر می گیریم و آن را برابر با =

    (اولین رقم * ۱۰) + ( دومین رقم * ۹ ) + ( سومین رقم * ۸ ) + ( چهارمین رقم * ۷ ) + ( پنجمین رقم * ۶) + ( ششمین رقم * ۵ ) + ( هفتمین رقم * ۴ ) + ( هشتمین رقم * ۳ ) + ( نهمین رقم * ۲ )

    قرار می دهیم.


    مقدار C را برابر با = B – (B/11)*11 قرار می دهیم.


    اگر مقدار C برابر با صفر باشد و مقدار A برابر C باشد کد ملی صحیح است.

    اگر مقدار C برابر با ۱ باشد و مقدار A برابر با ۱ باشد کد ملی صحیح است.

    اگر مقدار C بزرگتر از ۱ باشد و مقدار A برابر با ۱۱ – C باشد کد ملی صحیح است.


    در پایان یک نمونه کد جاوا اسکریپت جهت چک کردن کد ملی تقدیم می گردد //



    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد بالا رو در دلفی پیاده سازی کردم و به صورت dll تهیه کردم که میتونید از لینک زیر دریافت کنید:
    Size: 395 KB
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این هم تعریف تابع که ورودی اون کد ملی هست و در صورتی که کد وارد شده معتبر باشه true رو به عنوان نتیجه برمیگردونه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید
    سلام برام جالبه اينهمه زحمت برای يه کد اشتباه تا حالا به اين کد دقت کرديد
    B – (B/11)*11 =c
    حاصل c هيچ موقع به جز صفر نخواهد بود
    يه معادله سادست
    طرفين را تقسيم بر 11 می کنيم
    c/11=b/11-b/11
    *11
    c=b-b
    c=0
    به همين سادگی جالبتر اينکه اين کد تو همه سايتها کپی شده و هيچ کس به اين موضوع دقت نکرده لطفا قبل از اين که کد را از جايي کپی کنيد يه چکش بکنيد

  2. #12
    اگه نباشه جاش خالی می مونه pooria_googooli's Avatar
    تاريخ عضويت
    Feb 2010
    محل سكونت
    کاشان
    پست ها
    402

    پيش فرض

    دوست عزیز یعنی این همه آدم که نظر دادن به این موضوع دقت نکردن؟ این تقسیم اعشاری نیست تقسیم صحیح هستش . متوجه شدید؟

  3. #13
    در آغاز فعالیت
    تاريخ عضويت
    Jan 2008
    پست ها
    2

    پيش فرض

    دوست عزیز یعنی این همه آدم که نظر دادن به این موضوع دقت نکردن؟ این تقسیم اعشاری نیست تقسیم صحیح هستش . متوجه شدید؟
    دوست عزيز دقيقا دقت نکرده بودن فرمول صحيح c= b- Int(b/ 11) * 11
    هستش و صحبت شما درسته پاسخ به صورت اعشاری محاسبه نشه جواب صحيح است

  4. #14
    در آغاز فعالیت
    تاريخ عضويت
    Mar 2008
    پست ها
    1

    پيش فرض

    این کد غلطه
    هیچ وقت نتیجه c چیزی جز صفر نمیشه

صفحه 2 از 2 اولاول 12

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •