تولید کننده کد ملی آنلاین (معتبر و رند)
توضیحات بیشتر و راهنمای الگوریتم کد ملی
راهنماکد ملی در ساختار اداری و هویتی ایران یک عدد ۱۰ رقمی منحصربهفرد است که هر رقم آن دارای ارزش و وزن مشخصی است. سه رقم اول نشاندهنده کد حوزه یا شهر محل صدور، شش رقم میانی شماره ردیف شناسنامه در حوزه مربوطه، و رقم دهم رقم کنترل (Check Digit) جهت اعتبارسنجی ریاضی است. این ابزار با پیادهسازی فرمول دقیق سازمان ثبت احوال، کدهای ملی معتبر تولید میکند که کلیه آزمونهای اعتبارسنجی نرمافزاری را با موفقیت پشت سر میگذارند.
فرمول ریاضی محاسبه و راستیآزمایی رقم کنترل (رقم دهم):
فرض کنید ارقام کد ملی از چپ به راست با نمادهای d1 تا d10 نشان داده شوند. برای راستیآزمایی یا محاسبه رقم دهم:
R = Sum % 11
If R < 2 → d10 = R
If R ≥ 2 → d10 = 11 - R
توجه: مطابق قوانین ثبت احوال، کدهایی که تمام ۱۰ رقم آنها یکسان باشد (مانند ۱۱۱۱۱۱۱۱۱۱ یا ۰۰۰۰۰۰۰۰۰۰) حتی اگر در فرمول ضرب صدق کنند، نامعتبر شناخته میشوند و در این ابزار پالایش شدهاند.
مثال محاسبه دستی برای یک کد نمونه:
کد ملی فرضی: 001012345C (محاسبه رقم کنترل C)
Sum = 0 + 0 + 8 + 0 + 6 + 10 + 12 + 12 + 10 = 58
R = 58 % 11 = 3
چون R ≥ 2 است: C = 11 - 3 = 8 → کد ملی معتبر: 0010123458
موارد استفاده و کاربرد این ابزار:
- تست نرمافزار و فرمهای ثبتنام: برنامهنویسان و تیمهای تضمین کیفیت (QA) برای تست فیلدهای اعتبارسنجی در محیط استیجینگ نیازمند کدهای تست معتبر هستند.
- دادههای ساختگی (Mock Data): تولید دستهای دادهها برای سید کردن دیتابیس بدون نیاز به استفاده از اطلاعات شهروندان واقعی.
- حفظ حریم خصوصی: در تستهای عمومی و دموی وبینارها به جای درج کد ملی واقعی خود میتوانید از نمونههای تولیدشده استفاده کنید.
سوالات متداول (FAQ)
آیا کدهای تولیدشده توسط این ابزار متعلق به افراد واقعی هستند؟
خیر، این ابزار صرفاً با تکیه بر الگوریتم ریاضی کنترل صحت ثبت احوال، رشتههای ۱۰ رقمی معتبر از نظر ساختاری تولید میکند و به هیچ پایگاه داده شخصی یا دولتی متصل نیست. کدهای ایجادشده صرفاً جهت تست نرمافزاری و بررسی ورودی فرمها کاربرد دارند.
تفاوت کد ملی رُند با کد ملی تصادفی چیست؟
در حالت رند، ارقام ارائهشده دارای الگوهای متقارن، جفتی، متوالی یا تکراری هستند اما همزمان رقم کنترل آنها دقیقاً مطابق قانون ریاضی ثبت احوال محاسبه شده تا از منظر سیستمهای نرمافزاری کاملاً معتبر باشند.
چرا برخی کدهای ۱۰ رقمی در سامانهها خطای نامعتبر بودن میدهند؟
هر عدد ۱۰ رقمی الزاماً یک کد ملی معتبر نیست. رقم دهم کد ملی یک چکسام (Checksum) ریاضی از ۹ رقم پیشین است و اگر فرمول باقیمانده بر ۱۱ برقرار نباشد، سامانهها آن را نامعتبر تشخیص میدهند. کدهای تولیدی این ابزار همگی این فرمول را رعایت کردهاند.