跳至内容

CPF生成器 - 创建用于测试的有效巴西税务身份证号

CPF生成器可创建能够通过官方校验位算法验证的随机巴西税务身份证号(CPF),号码格式与真实CPF完全一致但不对应任何真实个人,用于在不使用真实个人数据的情况下测试表单验证逻辑、后端API接口和数据库存储功能,适合软件开发人员和质量保证测试团队日常使用,免费在线生成。

点击生成用于测试目的的有效巴西CPF号码

加载计算器...
📚

文档

什么是 CPF 生成器

CPF 生成器是生成随机巴西 CPF 号码的工具。CPF(Cadastro de Pessoas Físicas,自然人登记册)是由巴西联邦税务局 Receita Federal颁发给个人的 11 位税务识别号。每个人终身只有一个 CPF 号码。本工具生成的号码能通过官方的校验位算法,但并未登记在任何真实的人名下。开发人员用它们填写测试表单、为数据库填充数据,以及检验验证代码,而不会接触真实的个人数据。

CPF 号码格式

CPF 有 11 位数字,通常写成 XXX.XXX.XXX-XX。前九位是基数。后两位是校验位,由前九位按模 11 公式计算得出。校验位让软件能够发现输入错误:如果有一位数字输错,校验位的计算几乎总会失败,因此无效号码可以被自动拒绝。

示例:123.456.789-09

如何计算 CPF 校验位

两个校验位都采用相同的加权求和方法,分两次计算。

第一校验位

  1. 将前 9 位数字分别乘以权重,权重从 10 递减至 2。
  2. 将各项结果相加。
  3. 将总和除以 11,保留余数。
  4. 如果余数为 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 个字符,使用类似但独立的加权校验位公式。Receita Federal 从2026 年七月起为新注册分配字母数字混合的 CNPJ,所以新的 CNPJ 可能含有字母。CPF 生成器和 CNPJ 生成器不能互换使用。

常见问题

生成的 CPF 与真实的人有关联吗? 没有。这些数字是随机选取的,校验位由它们算出。没有任何东西把结果与巴西 Receita Federal 的数据库联系起来。

生成的 CPF 能用来开户或报税吗? 不能。把 CPF 与政府记录核对的系统会立即拒绝生成的号码,而且用它冒充真实的申报是违法的。

为什么本工具会拒绝所有数字都相同的号码,例如 111.111.111-11? 校验位公式恰好会接受它们,但数字全部重复的字符串常被用作占位值或出现在输入错误中。验证代码通常按惯例拒绝这类号码。生成器会把它们过滤掉,验证器也会拒绝它们。

一共有多少个不同的有效 CPF? 前 9 位可以是从 000000000 到 999999999 的任意组合,共 1,000,000,000 种可能。两位校验位不是随机的,它们由这 9 位数字算出。因此有效 CPF 总数约为 1 个十亿,再减去被排除的 10 种重复数字组合。两个独立生成的 CPF 偶然相同的概率因此约为 1 比 (2.5 cm) 1 个十亿。

生成的 CPF 能通过第三方验证库吗? 能。任何检查标准模 11 校验位算法的库都会接受它,因为这个号码正是用同一算法构造的。

CPF 和 RG 有什么区别? CPF 是联邦税务号码,全国统一格式和算法。RG(Registro Geral,通用登记)是各州签发的身份证件,格式因州而异,也没有标准的校验位算法。

参考文献

  1. Receita Federal do Brasil(巴西联邦税务局)。Meu CPF. Meu CPF(葡萄牙语) — CPF 登记册由 Receita Federal 运营;每个人的 CPF 号码唯一且永久。
  2. Instituto de Computação, Universidade Estadual de Campinas (Unicamp)(坎皮纳斯州立大学计算机研究所)。MC102 exam 1, question 1: Algoritmo do CPF. CPF 算法(葡萄牙语,PDF) — 11 位数字,9 位基数和 2 位校验位;权重从 10 递减到 2,然后从 11 递减到 2;模 11;余数小于 2 时结果为 0,否则为 11 减去余数。
  3. Receita Federal do Brasil(巴西联邦税务局)。CNPJ Alfanumérico. 字母数字混合 CNPJ 页面(葡萄牙语) — 字母数字混合的 CNPJ 仅分配给 2026 年七月起的新注册。