404 lines
27 KiB
JavaScript
404 lines
27 KiB
JavaScript
/**
|
||
* Card Generator Configuration
|
||
* 卡类型配置
|
||
*/
|
||
|
||
const CARD_TYPES = {
|
||
unionpay: {
|
||
name: '中国银联 (UnionPay)',
|
||
// 银联前缀配置:支持基础 BIN + 扩展段 + 权重
|
||
// 策略:所有248个BIN完全平均分配(每个0.02权重),公平探测所有银行
|
||
prefixes: [
|
||
// ========== 主力军:622836 系列(有60个真实成功案例支撑,与其他BIN权重相同)==========
|
||
{
|
||
bin: '622836',
|
||
extension: '754',
|
||
weight: 0.02, // ✅ 与所有BIN平均权重
|
||
allowPatterns: true // ✅ 套用下方的 successfulPatterns
|
||
},
|
||
// 同系列相邻卡段(权重平均化,与真实案例同源)
|
||
{ bin: '622836', extension: '755', weight: 0.02, allowPatterns: true },
|
||
{ bin: '622836', extension: '756', weight: 0.02, allowPatterns: true },
|
||
{ bin: '622836', extension: '757', weight: 0.02, allowPatterns: true },
|
||
{ bin: '622836', extension: '758', weight: 0.02, allowPatterns: true },
|
||
{ bin: '622836', extension: '759', weight: 0.02, allowPatterns: true },
|
||
|
||
// ========== 探测部队:图片中提取的真实9位BIN(与主力军权重相同)==========
|
||
// 约240个BIN,每个权重0.02,与主力军完全平等
|
||
// 621开头系列(中国银行为主)
|
||
{ bin: '621332620', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621491300', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '621491400', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '621568260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621568310', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621569500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621569850', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621617004', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621617008', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621650100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660270', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660320', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660630', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660750', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660800', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660830', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661190', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661270', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661300', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661630', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661640', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621665260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621665280', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621665700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621666070', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621666120', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669080', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669170', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669620', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669800', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621696500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621756200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621756700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758300', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758560', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758640', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785360', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785640', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786610', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621787610', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621788260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621788320', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790300', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621852600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621853100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621856100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621857000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858110', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858300', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621866500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621890100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621902000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621906400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621907000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621908300', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
// 622开头系列(多银行混合)
|
||
{ bin: '622081700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622082800', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622208280', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622276144', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622631208', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622662170', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622662330', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622663120', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622663201', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622663220', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622666320', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '625976035', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
// 623开头系列(华夏银行、平安银行为主)
|
||
{ bin: '623020010', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020020', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020023', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020080', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020085', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020090', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020104', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020112', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020120', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020123', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020156', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020202', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020203', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020230', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020255', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021003', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021008', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021009', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021010', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021081', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021120', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623058000', weight: 0.02, allowPatterns: false, issuer: '平安银行' },
|
||
{ bin: '623058400', weight: 0.02, allowPatterns: false, issuer: '平安银行' },
|
||
{ bin: '623208280', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623208650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623357362', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623573700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623573800', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575140', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575760', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
// 继续621系列(补充图片中剩余的卡号)
|
||
{ bin: '621282320', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621568260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621568310', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621582600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621582620', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621582640', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621606500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621607000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621608000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621608700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621612000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621612700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621617000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621617008', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621617100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621650100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621665010', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621692600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621696100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621696200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621696900', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621756200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621756400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758560', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758640', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786610', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621787600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621788000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621852600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621853100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621856400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621857000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621857500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621866520', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621890100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621902000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621906400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621906500', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621907000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621908300', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
// 继续622系列
|
||
{ bin: '622081700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622082600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622082800', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622208650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '622631120', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622662120', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622662170', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622663120', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622663201', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622663220', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
{ bin: '622666320', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
// 继续623系列(补充剩余)
|
||
{ bin: '623020016', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020022', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020097', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020109', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020110', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020202', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020203', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623020230', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021003', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021008', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021009', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021010', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021081', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623021101', weight: 0.02, allowPatterns: false, issuer: '华夏银行' },
|
||
{ bin: '623058000', weight: 0.02, allowPatterns: false, issuer: '平安银行' },
|
||
{ bin: '623058400', weight: 0.02, allowPatterns: false, issuer: '平安银行' },
|
||
{ bin: '623084000', weight: 0.02, allowPatterns: false, issuer: '平安银行' },
|
||
{ bin: '623208280', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623208650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623208650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623357362', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623573700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623573800', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575140', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623575760', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '623576000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
// 图2补充(621785-621907系列)
|
||
{ bin: '621785700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785640', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785620', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785360', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785310', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790830', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669070', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621607000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621582600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
// 图3补充(621758-621790系列)
|
||
{ bin: '621758200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621685200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621786620', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785260', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785360', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621661750', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660650', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669620', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621876100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621876100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621876100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621876610', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621790400', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621785200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621858100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758200', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758000', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621665010', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621660700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621669810', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621758010', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621757600', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621876100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '621876100', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
// 601开头(银联国际)
|
||
{ bin: '601382700', weight: 0.02, allowPatterns: false, issuer: '中国银行' },
|
||
{ bin: '900305040', weight: 0.02, allowPatterns: false, issuer: '中国光大银行' },
|
||
// 备注:allowPatterns: false = 不使用 successfulPatterns,纯随机生成,用于数据收集
|
||
// 如果这些BIN有成功案例,更新配置:allowPatterns: true + 提高权重
|
||
],
|
||
length: 16,
|
||
cvvLength: 3,
|
||
useLuhn: true,
|
||
|
||
// 成功案例的后7位模式(60个真实成功支付案例)
|
||
// 统计分析显示:位置4的数字0占20%,位置2的数字4占18.3%
|
||
successfulPatterns: [
|
||
'1130577', '0744030', '9888788', '9131205', '1450744',
|
||
'7238010', '7300364', '0814288', '6042579', '6361755',
|
||
'2443235', '3564435', '8400627', '4445204', '2653734',
|
||
'9976732', '0810302', '0707201', '5237808', '4322734',
|
||
'1880148', '9130520', '7863197', '1210049', '9031561',
|
||
'2464926', '2487000', '5452860', '8491592', '5022853',
|
||
'5864858', '4742832', '0023658', '7416988', '7093159',
|
||
'9198576', '8160064', '6223252', '4873785', '1299976',
|
||
'2940032', '6998937', '5800241', '3770784', '5055812',
|
||
'8774419', '6781457', '2738949', '2602400', '8575105',
|
||
'6496080', '0057649', '9574719', '8435128', '2797374',
|
||
'5956423', '7237848', '0385107', '4252006', '7562054'
|
||
],
|
||
|
||
// 生成策略配置(优化后)
|
||
generation: {
|
||
mutationRate: 0.7, // 70% 使用变异策略(基于真实成功案例)
|
||
randomRate: 0.3, // 30% 使用纯随机
|
||
mutationDigits: [1, 2] // 变异时改变1-2个数字
|
||
}
|
||
},
|
||
visa: {
|
||
name: 'Visa',
|
||
prefix: '4',
|
||
length: 16,
|
||
cvvLength: 3,
|
||
useLuhn: true
|
||
},
|
||
mastercard: {
|
||
name: 'MasterCard',
|
||
prefix: '5',
|
||
length: 16,
|
||
cvvLength: 3,
|
||
useLuhn: true
|
||
},
|
||
amex: {
|
||
name: 'American Express',
|
||
prefix: '34',
|
||
length: 15,
|
||
cvvLength: 4,
|
||
useLuhn: true
|
||
},
|
||
discover: {
|
||
name: 'Discover',
|
||
prefix: '6011',
|
||
length: 16,
|
||
cvvLength: 3,
|
||
useLuhn: true
|
||
}
|
||
};
|
||
|
||
/**
|
||
* 有效期配置
|
||
*/
|
||
const EXPIRY_CONFIG = {
|
||
minYear: 26, // 2026
|
||
maxYear: 30, // 2030
|
||
minMonth: 1,
|
||
maxMonth: 12
|
||
};
|
||
|
||
/**
|
||
* 输出格式配置
|
||
*/
|
||
const OUTPUT_FORMATS = {
|
||
pipe: {
|
||
name: 'Pipe分隔 (|)',
|
||
formatter: (card) => `${card.number}|${card.month}|${card.year}|${card.cvv}`
|
||
},
|
||
json: {
|
||
name: 'JSON格式',
|
||
formatter: (card) => JSON.stringify(card, null, 2)
|
||
},
|
||
csv: {
|
||
name: 'CSV格式',
|
||
formatter: (card) => `${card.number},${card.month},${card.year},${card.cvv}`
|
||
},
|
||
pretty: {
|
||
name: '美化格式',
|
||
formatter: (card) => `
|
||
Card Number: ${card.number}
|
||
Expiry Date: ${card.month}/${card.year}
|
||
CVV: ${card.cvv}
|
||
Type: ${card.type}
|
||
`.trim()
|
||
}
|
||
};
|
||
|
||
module.exports = {
|
||
CARD_TYPES,
|
||
EXPIRY_CONFIG,
|
||
OUTPUT_FORMATS
|
||
};
|