c - 是否可以验证 IMEI 号码?

标签 c vb.net imei

对于移动商店应用程序,我需要验证 IMEI number .我知道如何根据输入长度进行验证,但他们是否有任何其他机制来验证输入数字?是否有任何内置功能可以实现这一目标?

来自任何语言的逻辑都被接受和赞赏。

最佳答案

搜索表明没有内置函数来验证 IMEI 号码,但有一种使用 Luhn algorithm 的验证方法.

一般流程:

  1. 输入 IMEI:490154203237518
  2. 去掉最后一位数字,并记住它:49015420323751 & 8。最后一位数字 8 是验证数字。
  3. 将 IMEI 中的每个第二位数字加倍:4 18 0 2 5 8 2 0 3 4 3 14 5 2(不包括验证数字)
  4. 将此数字分隔成单个数字:4 1 8 0 2 5 8 2 0 3 4 3 1 4 5 2(注意 1814 已拆分)。
  5. 将所有数字相加:4+1+8+0+2+5+8+2+0+3+4+3+1+4+5+2 = 52
  6. 记下您得出的数字,并将其四舍五入为最接近的十的倍数:60
  7. 从四舍五入的数字中减去您的原始数字:60 - 52 = 8
  8. 将结果与您的原始验证数字进行比较。如果这两个数字匹配,则您的 IMEI 有效。

上面第 1 步中给出的 IMEI 是有效的,因为在第 7 步中找到的数字是 8,与验证数字匹配。

关于c - 是否可以验证 IMEI 号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25229648/

相关文章:

c - 警告 : passing argument 1 of 'quicksort' makes pointer from integer without a cast

vb.net - 如何将类型传递给泛型类型?

ios - 如何在 iPhone 中以编程方式获取 IMSI 号码

c - ZLIB 似乎在 C 中返回 CRC32B 而不是 CRC32

C 程序未将值传递给方法

c++ - 需要一个用 C/C++ 或 Python 进行 HTTP/HTML 网络编程的库

java - 如何获取电脑的ID?

c# - 在运行时将图像添加到 Crystal Report

ios - 在 iOS 7 及更高版本上以编程方式唯一标识设备

ios - 如何生成IMEI?