不需要连接到金融机构的信用卡校验和校验和验证

时间:2010-12-22 22:47:51

标签: algorithm validation credit-card

我所知道的验证是:

  • 校验和,整个卡号应加起来为零。 (范围是0-9)
  • 根据卡片类型检查第一个数字
  • 根据卡片类型检查长度
  • 根据卡片类型检查CCV长度(我认为所有主要类型都是3)
  • 当然要确保它已被接受卡类型以及未过期。

还有其他验证:)(我希望很多人都不知道所有这些)

我问的原因是因为我无意中听到有一个到校验和号码反对到期或CCV ..我只是想检查。

1 个答案:

答案 0 :(得分:8)

  • 卡号(又名 PAN ,主要帐号)
    不要把任何建议作为福音。卡号由6位数的发卡行标识号(IIN),帐号和luhn校验位组成。 IIN范围不断变化,依赖于此信息的行业部门(如支付处理器)通常会随着变化的发生而更新。假设卡号应该在16到19位之间,从3,4,5或6开始是相当安全的。除此之外,尝试从IIN识别卡类型很容易出错,除非您经常更新。< / p>

  • Luhn / Mod10校验位
    卡号的最后一位是一个校验位,用于获取当操作员键入卡号时可能发生的换位错误。 wikipedia article是获取更多信息和代码示例的良好来源。

  • 磁条
    如果您可以实际访问该卡和磁条读取器,则轨道2包含银行卡信息。其中包括卡号,有效期,LRC(校验位)和服务代码。服务代码(仅适用于磁条)通知如何使用该卡,例如仅用于国家付款,仅用于ATM(不作为支付卡),是否应提供现金返还等。

  • CCV / CSC / CV2
    安全数字永远不会压印到卡上,也不会记录在磁条上。除了Amex(总是4位数)

  • 之外,所有这些都应该是三位数
  • 发布日期
    仅用于手动(健全)检查。在授权请求期间未发送

  • 有效期
    一个常见的误解是不能使用过期的卡。他们经常可以,但他们必须首先通过在线授权(以便收单银行对是否允许进行最终决定)。有效期可能在未来长达20年(在极少数情况下甚至更进一步)

  • 发行编号
    仅适用于某些卡类型。应该在授权请求中捕获并使用。