背景与价值支付卡号属于高度敏感信息。统一掩码与校验策略可降低泄露风险并提升合规性。统一规范校验:Luhn算法校验PAN有效性。展示:仅显示BIN(前6)与末4位;中间全部掩码。存储:仅存掩码与必要摘要,避免明文。核心实现Luhn校验与掩码function luhnValid(pan: string): boolean { const s = pan.replace(/\s+/g,'') if (!/^\d{12,19}$/.test(s)) return false let sum = 0 let alt = false for (let i = s.length - 1; i >= 0; i--) { let n = Number(s[i]) if (alt) { n *= 2; if (n > 9) n -= 9 } sum += n alt = !alt } return sum % 10 === 0 } function maskPan(pan: string): string { const s = pan.replace(/\s+/g,'') const bin = s.slice(0, 6) const last4 = s.slice(-4) const mid = '*'.repeat(Math.max(0, s.length - 10)) return bin + mid + last4 } 落地建议仅在必要场景展示BIN+末4;存储掩码与摘要用于风控与审计,不存明文。日志与导出统一掩码处理,拒绝写入明文。验证清单PAN是否通过Luhn;展示与存储是否遵循掩码规则。

发表评论 取消回复