CPF生成器 - 创建用于测试的有效巴西税务身份证号
CPF生成器可创建能够通过官方校验位算法验证的随机巴西税务身份证号(CPF),号码格式与真实CPF完全一致但不对应任何真实个人,用于在不使用真实个人数据的情况下测试表单验证逻辑、后端API接口和数据库存储功能,适合软件开发人员和质量保证测试团队日常使用,免费在线生成。
点击生成用于测试目的的有效巴西CPF号码
文档
什么是 CPF 生成器
CPF 生成器是一种随机生成巴西 CPF 号码的工具。CPF(Cadastro de Pessoas Físicas,个人纳税人登记册)是巴西联邦税务局向个人签发的 11 位税务识别号码。该工具生成的号码能够通过官方校验位算法,但不会登记到任何真实个人名下。开发人员可以使用这些号码填充测试表单、初始化数据库,以及检查验证代码,而无需接触真实个人数据。
CPF 号码格式
CPF 包含 11 位数字,通常写作 XXX.XXX.XXX-XX。前九位是基础号码,后两位是校验位,根据前九位通过固定公式计算得出。校验位可帮助软件检测输入错误:如果某一位数字输入错误,校验位计算几乎总会失败,因此系统可以自动拒绝无效号码。
示例:123.456.789-09
如何计算 CPF 校验位
两个校验位都采用相同的加权求和方法,分两次计算。
第一校验位
- 将前 9 位数字分别乘以权重,权重从 10 递减至 2。
- 将各项结果相加。
- 将总和除以 11,保留余数。
- 如果余数为 0 或 1,校验位就是 0。否则,校验位为 11 减去余数。
第二校验位
使用目前已有的全部 10 位数字重复相同步骤(原来的 9 位数字加上刚刚计算出的第一校验位),权重从 11 递减至 2。
有一种模式始终会被拒绝:由同一数字重复 9 次组成的基础号码(例如 111111111)会产生与该数字相同的校验位,因此像 111.111.111-11 这样的号码能够通过公式校验。正因如此,巴西的系统以及本生成器都会将含有 11 个相同数字的 CPF 视为无效,不论公式返回什么结果。
计算示例
取基础数字 1、2、3、4、5、6、7、8、9。
权重从 10 递减至 2,计算如下:(1×10) + (2×9) + (3×8) + (4×7) + (5×6) + (6×5) + (7×4) + (8×3) + (9×2) = 210。
210 除以 11,余数为 1。由于余数小于 2,第一校验位为 0。
现在使用全部 10 位数字(1、2、3、4、5、6、7、8、9、0),权重从 11 递减至 2:(1×11) + (2×10) + (3×9) + (4×8) + (5×7) + (6×6) + (7×5) + (8×4) + (9×3) + (0×2) = 255。
255 除以 11,余数为 2。由于余数大于或等于 2,第二校验位为 11 − 2 = 9。
完整号码为 123.456.789-09。
如何使用此 CPF 生成器
点击“生成 CPF”。工具会随机选择九位数字;如果恰好九位都相同,则舍弃这组数字,然后根据上述公式从这九位数字计算两个校验位。结果会以 XXX.XXX.XXX-XX 格式显示,并附有复制按钮。
开发人员为何使用生成的 CPF
真实 CPF 号码可以识别真实个人,在测试系统中使用它们可能导致个人数据泄露,或违反巴西《通用数据保护法》(LGPD)。生成的 CPF 可以解决这一问题:它通过与真实 CPF 相同的校验位验证,因此能够以同样方式测试表单验证、数据库约束和 API 请求处理,同时不会关联到任何真实个人。
常见用途包括初始化测试数据库,检查注册表单是否会拒绝格式错误的号码并接受有效号码,以及为演示填充示例数据。生成的 CPF 不会与政府数据库中的真实记录匹配,因此不适合测试对巴西在线系统的实时查询,只能用于测试号码格式和校验位逻辑本身。
CPF 与 CNPJ
CPF 用于识别个人。CNPJ(Cadastro Nacional da Pessoa Jurídica,法人国家登记)用于识别企业及其他法人实体。CNPJ 包含 14 位数字,并使用类似但彼此独立的加权校验位公式。CPF 生成器和 CNPJ 生成器不能互换使用。
常见问题
生成的 CPF 是否关联到真实个人? 不会。这些数字是随机选择的,校验位由这些数字计算得出。结果与巴西联邦税务局数据库没有任何关联。
生成的 CPF 能否用于开设账户或报税? 不能。将 CPF 与政府记录进行核验的系统会立即拒绝生成的号码,用它冒充真实申报是违法行为。
为什么工具会拒绝所有数字都相同的号码,例如 111.111.111-11? 因为校验位公式在数学上恰好会接受这类号码,但巴西机构将重复数字的 CPF 视为已知的无效占位号码,而不是真实号码。生成器会将它们过滤掉,验证器也会拒绝它们。
可能存在多少个不同的有效 CPF? 前 9 位数字可以是从 000000000 到 999,999,999 的任意组合,共有 1,000,000,000 种可能。两个校验位并非随机生成,而是根据这 9 位数字计算得出。因此,总共约有1十亿个有效 CPF,减去被排除的 10 种重复数字组合。两个独立生成的 CPF 偶然相同的概率约为1比 (2.5 厘米)1十亿。
生成的 CPF 能通过第三方验证库吗? 可以。任何检查标准模 11 校验位算法的库都会接受它,因为该号码正是使用同一算法生成的。
CPF 与 RG 有什么区别? CPF 是联邦税务号码,采用全国统一的格式和算法。RG(Registro Geral,总登记)是州政府签发的身份证件;其格式因州而异,也没有统一的校验位算法。
参考文献
- 巴西联邦税务局,《CPF – Cadastro de Pessoas Físicas(个人纳税人登记)》https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf
- 第 4.862 号法律,颁布于 1965 年,创建了 CPF 制度:[planalto.gov.br]https://www.planalto.gov.br/ccivil_03/leis/l4862.htm
- 《通用数据保护法》(LGPD),巴西的数据保护法:[gov.br/lgpd]https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd