无需登录 数据私有 本地保存

信用卡号验证器 - Luhn算法及发卡行识别

15
0
0
0

信用卡号验证器

Luhn算法验证 & 发卡行智能识别

•••• •••• •••• ••••
持卡人
———— ————
等待输入
快速测试样例:
Visa MasterCard Amex Discover JCB Diners UnionPay

所有验证均在本地浏览器完成,不会上传或存储任何卡号信息。

发卡行识别
Visa
MasterCard
Amex
Discover
JCB
Diners
UnionPay
验证详情
请输入信用卡号开始验证

常见问题与知识点

Luhn算法(又称“模10算法”)是由IBM科学家Hans Peter Luhn于1954年发明的简易校验和公式,广泛用于信用卡号、IMEI码等数字序列的合法性验证。其核心步骤为:
① 从卡号最右边开始,将偶数位(从右数第2、4、6…位)的数字乘以2;
② 若乘积大于9,则减去9(或将该乘积的十位与个位相加);
③ 将所有数字(包括未乘2的奇数位)求和;
④ 若总和能被10整除,则卡号通过Luhn校验。该算法能有效检测输入错误和部分欺诈号码,但不能100%保证卡号真实存在
信用卡号遵循ISO/IEC 7812标准,通常由以下部分构成:
① BIN/IIN(发卡行识别码):前6位(部分新卡为前8位),用于标识发卡机构。例如4开头代表Visa,51-55或2221-2720开头代表MasterCard;
② 账户标识码:中间部分,由发卡行分配,唯一标识持卡人账户;
③ 校验位:最后1位,基于Luhn算法计算得出,用于验证整个卡号的完整性。
不同发卡行拥有特定的BIN范围,常见规则如下:
Visa:以 4 开头,通常13或16位;
MasterCard:以 51-552221-2720 开头,16位;
American Express:以 3437 开头,15位;
Discover:以 601165644-649622126-622925 开头;
JCB:以 3528-3589 开头,16位;
Diners Club:以 3638300-305 开头;
UnionPay:以 62 开头,16-19位。
绝对安全。本工具的所有计算和验证均在您的浏览器本地完成,采用纯前端JavaScript实现。不会通过网络发送任何数据,不会存储或记录任何卡号信息。您甚至可以断开网络连接后继续使用。建议仅使用公开的测试卡号进行验证体验,切勿输入真实卡号到任何在线工具中。
不是。Luhn算法仅能验证卡号是否符合数学校验规则,无法确认该卡号是否真实存在、是否已被激活、是否有足够额度等。它主要用于防止输入错误和简单的伪造。真实的交易授权需要发卡行通过支付网络进行在线验证。本工具仅用于教育和开发测试目的。
不同卡组织的卡号长度有所不同:Visa通常为13或16位;MasterCard为16位;American Express为15位;Discover为16-19位;JCB为16位;Diners Club为14位;UnionPay为16-19位。卡号长度是识别发卡行的重要辅助特征之一。
BIN攻击是指攻击者利用已知的BIN范围,通过算法生成大量可能的卡号,再结合Luhn校验和暴力尝试进行欺诈交易。防范措施包括:启用CVV验证3D Secure认证交易限额异常行为检测以及多因素身份验证。对于普通用户,保护好卡号、CVV和有效期信息至关重要。