我正在尝试为专有 ID 实现执行数字验证。我期待详细的算法规范文档,但这就是他们发送的全部内容:
The IDs are 9 digits.
The check digit is a MOD 7 check on the last number.
我想我假设“MOD 7”意味着对某物应用模数 7——我怀疑“最后一个数字”不仅仅意味着将模 7 应用到最后一个数字,否则每个有效 ID 都将以0 或 7。
与此同时,有人在单独的对话中说这实际上是“对最后一个数字的 CRC MOD 7 检查”(抛出“CRC”),但我认为这是一个错误的细节并且根本不使用 CRC,但我知道什么?
我很难找到有关阅读本规范和将其解释为某些“标准算法”的某些标准方法的信息。我发现的大多数样本都包含许多不同种类的算法,例如加权或未加权等。
有谁知道我最有可能对此进行解释,或者我是否应该询问更多信息?如果我应该询问更多信息,我应该问什么问题?
最佳答案
正如我在评论中所说,这是一份糟糕的文档,但这是对我来说有意义的唯一阅读方式:
您对整个卡号(所有九位数字)进行 MOD 7 检查,然后检查该结果是否等于卡号中的最后一位数字。
关于algorithm - 使用 MOD 7 检查最后一个数字来计算验证的最可能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458380/