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

Bry*_*eld 3 algorithm validation credit-card

我所知道的验证是:

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

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

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

Pau*_*ulG 8

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

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

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

  • CCV/CSC/CV2
    安全数字永远不会压印到卡上,也不会记录在磁条上.除了Amex(总是4位数)外,其他所有数字都应该是三位数

  • 发行日期仅
    用于手动(完整性)检查.在授权请求期间未发送

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

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