صحت عدد IMEI با الگوریتم لون (Luhn)

فریدون

امین آقایی

۱۳۹۴/۱۲/۰۳ ۱۰:۴۹ ق.ظ

1674

بار بازدید شده
How-Check-IMEI عدد IMEI عددی است یکتا که ویژگی‌های منحصر به فردی دارد این عدد با استفاده از الگوریتم لون به وجود می‌آید. کاربرد این الگوریتم برای ساخت کدهای یکتا همانند IMEI و عدد کارت ملی است در این مقاله نحوه ساخت...
1674
صحت عدد IMEI با الگوریتم لون (Luhn)
Vidoal
صحت عدد IMEI با الگوریتم لون (Luhn)
در این مقاله نحوه صحت عدد IMEI  مربوط به موبایل شرح داده می‌شود:
IMEI شامل ۳ بخش به شرح زیر می‌باشد:
AAAAAAAA    BBBBBB   C
۸ عدد اول مربوط به نوع شبکه جی اس ام (GSM)  
۵ عدد بعدی مربوط به سریال مدل سازنده و عدد آخر و مهم‌ترین بخش برای چک کردن درستی IMEI  است.
برای این کار از الگوریتم لون (Luhn) استفاده می‌شود.
در این روش با شروع از اولین رقم سمت راست و حرکت به سمت چپ، یکی در میان رقم‌های ستون زوج، دو برابر می‌شوند
سپس ارقام ستون‌های فرد با ارقام اعداد دوبرابر شده(10»1+0 و 16»1+6)، جمع می‌شوند.
اگر باقی‌مانده حاصل این جمع تقسم بر ۱۰ صفر شود عدد IMEI درست است و در غیر این صورت IMEI  اشتباه می‌باشد.
شکل زیر مثالی از چک کردن IMEI  گوشی خودم  (Samsung Galaxy Note 4 Edge) است:
 
IMEI = 358303061680324

از این الگوریتم جهت چک کردن کد ملی، کارت بانکی و تمامی ارقامی که خاصیت مشابه دارند استفاده می‌شود.
به عنوان مثال برای ساخت عدد IMEI بعد از مشخص شدن ۱۴ رقم اولیه با استفاده از این الگوریتم و جمع کردن ۱۴ عدد اول با روش شرح داده شده در جدول فوق و تقسیم آن بر عدد ۱۰، عدد صحیح بدست آمده، 5 و باقیمانده آن 0 خواهد شد.
برای مثال فوق، جمع ۱۴ رقم اول، با روش الگوریتم لون، ۴۶ بوده که با اضافه کردن عدد ۴ به آن به عدد ۵۰ می‌رسیم و که تقسیم عدد ۵۰ بر ۱۰ عدد صحیح 5.0 می‌باشد. پس عدد پانزدهم IMEI  فوق ۴ درست است.
فایل اکسل مرتبط را می‌توانید دانلود کنید.
لینک دانلود (پسورد: www.vidoal.com)

برای دانلود ابتدا وارد حساب کاربری خود شوید.

نظرات ثبت شده (2)
افشین  بهرامی  photo
افشین بهرامی دوشنبه، ۱۰ آبان ۱۳۹۵
دراین مقاله گفته اگه حاصل جمع اعداد تقسیم بر ده صفر شود، که به نظرم نمیتواند صحیح باشد
گروه آموزشی ویدوآل esle { گروه آموزشی ویدوآل }
گروه آموزشی ویدوآل دوشنبه، ۱۰ آبان ۱۳۹۵
(پاسخ) با تشکر از دقت شما، این متن مشکلاتی داشت که همگی برطرف شدند.