背景与价值支付卡号属于高度敏感信息。统一掩码与校验策略可降低泄露风险并提升合规性。统一规范校验: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;展示与存储是否遵循掩码规则。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部