我想要理解其中的逻辑,这样我就可以用java实现这个算法。我要计算有效的十六进制IMEI数字的校验位。例如- 6C4BFFC0000004请帮我做一下算法。我试图在谷歌中找到解决方案,但我无法找到正确的答案使用这些算法。
Calculation what I did is like -
但是上面的IMEI的校验位是4。我得到了7。我不知道我哪里错了。
发布于 2016-04-15 14:20:18
我也有同样的需求,我通过使用下面网站上解释的逻辑找到了解决方案:
Luhn test of credit card numbers
我根据C示例编写了一个函数来确定最后一个数字。Java中的行为将是相同的。
发布于 2018-06-19 14:53:10
实际上,您不需要先转换为Decimal。如果你有一个十六进制的"IMEI“,它实际上是一个MEID。IMEI是MEID的仅十进制子集。关于如何计算基于十六进制的MEID的Luhn,实际上已经有了一项专利。参见以下权利要求0113至0119:
https://patentimages.storage.googleapis.com/74/63/03/3fb507952c7ccf/US20080194223A1.pdf
https://stackoverflow.com/questions/36425894
复制相似问题