Ruka hadi maudhui

Kizalishi cha CPF - Unda Kitambulisho cha Kodi cha Brazili cha Majaribio

Kizalishi cha CPF cha bure kinaunda nambari halali za kitambulisho cha kodi cha Brazili ambazo zinapitisha mifumo ya uhakiki. Kamili kwa kujaribu fomu, API, na hifadhidata bila kutumia data ya kibinafsi ya kweli.

Bonyeza ili uzalie nambari ya CPF ya Brazil ya halali kwa ajili ya majaribio

Kupakia kasha hesabu...
📚

Nyaraka

Kitengenezaji cha CPF - Unda Nambari za Kitambulisho cha Kodi cha Brazili za Jaribio

Kwa Nini Unahitaji Kizalishi cha CPF kwa Majaribio

Unapoendesha programu za soko la Brazil, utakutana haraka na changamoto ya kawaida: kujaribu fomu na mantiki ya uhakiki bila kuhatarisha data ya mtumiaji halisi. Hapo ndipo kizalishi cha CPF kinakuwa muhimu sana.

CPF (Cadastro de Pessoas Físicas) ni nambari ya kitambulisho cha kipekee cha tarakimu 11 inayotolewa kwa raia na wakaaji wa Brazil kwa madhumuni ya kodi. Zana hii inazalisha nambari za CPF za nasibu zenye hesabu sahihi ambazo znapitisha algoritmu rasmi ya uhakiki wa Brazil—ya kubaya kwa kujaza matoleo ya data ya majaribio, kuhakiki fomu za kuingiza, na kuendesha majaribio ya otomatiki bila wasiwasi wa faragha.

Kikomo cha muhimu: CPF zilizozalishwa ni za mazingira ya majaribio tu. Hazihusiani na watu halisi na hazitumiki kamwe kwenye mifumo ya uzalishaji au kwa madhumuni ya ulaghai. Jambo linalowafanya kuwa muhimu ni kwamba zinapitisha vipimo vya uhakiki wakati wa kuhifadhi data ya majaribio kabisa toka kwenye habari binafsi halisi.

Kuelewa Muundo na Umbizo la CPF

CPF inayotunzwa vizuri inahusisha tarakimu 11 na muundo maalum:

  • Tarakimu 9 za kwanza: Nambari za kitambulisho cha msingi
  • Tarakimu 2 za mwisho: Tarakimu za ukaguzi wa uhalalishaji
  • Umbizo la kawaida: XXX.XXX.XXX-XX (na nukta na alama ya kigae)

Mfano: 123.456.789-09

Tarakimu za ukaguzi zinahakikisha kuwa nambari ya CPF imethibitishwa kwa hesabu, kuzuia makosa ya kubonyeza na kuingiza nambari zisizo halali katika mifumo ya Brazil.

Jinsi Uthibitishaji wa CPF Unavyofanya Kazi

Algoritmu ya uthibitishaji wa CPF inatumia mfumo wa tarakimu ya uhakiki wa modulo-11 zenye uzito ili kuhakikisha utendaji wa namba. Kuelewa algoritmu hii ni muhimu sana unapotumia uthibitishaji wa CPF katika programu zako.

Mchakato wa Uthibitishaji Unaelezwa

Algoritmu inakokota tarakimu mbili za uhakiki (tarakimu mbili za mwisho za CPF) kulingana na tarakimu 9 za kwanza:

Kukokota tarakimu ya kwanza ya uhakiki:

  1. Kuzidisha tarakimu 9 za kwanza kwa mizani inayoshuka (10, 9, 8, 7, 6, 5, 4, 3, 2)
  2. Kuongeza matokeo yote ya kuzidisha
  3. Kukokota sehemu iliyosalia pale inapogawanywa na 11
  4. Ikiwa sehemu iliyosalia < 2, tarakimu ya uhakiki ni 0; vinginevyo ni 11 chini ya sehemu iliyosalia

Kukokota tarakimu ya pili ya uhakiki:

  1. Kurudia mchakato kwa tarakimu 9 za kwanza pamoja na tarakimu ya kwanza ya uhakiki (tarakimu 10 kwa jumla)
  2. Tumia mizani 11, 10, 9, 8, 7, 6, 5, 4, 3, 2
  3. Tumia mantiki sawa ya sehemu iliyosalia

Uthibitishaji huu wa hatua mbili unashika makosa mengi ya kunakili na kuzuia namba za nasibu kupitisha kama CPF halali. Algoritmu imebainishwa katika Lei nÂş 4.862/1965, ambayo ilimweka mfumo wa CPF.

Kwa Nini Hili Muhimu kwa Wasanidi Programu

Unapojengwa uthibitishaji wa CPF, mara nyingi utaona wasanidi programu wakikosa hali ya tarakimu ya sehemu iliyosalia ni 0 au 1—hizi zinapaswa kuunganishwa na tarakimu ya uhakiki 0, sio 10 au 11. Hii ni chanzo cha maajabu ya mapungufu ya uthibitishaji. Formula (sum * 10 % 11) % 10 inashughulikia hali hii kwa usahihi kwa kuhakikisha matokeo hayatazami zaidi ya 9.

Jinsi ya Kutumia Zana hii ya Kuzalisha CPF

Kuzalisha CPF halali za kupima huchukua sekunde:

  1. Bonyeza kitufe cha "Zalia CPF"
  2. Angalia nambari ya CPF halali na ya nasibu iliyoonyeshwa kwa umbizo la kawaida XXX.XXX.XXX-XX
  3. Nakili nambari iliyozalishwa kwa kubonyeza mara moja
  4. Bandika moja kwa moja katika fomu zako za kupima, maombi ya API, au mbegu za hifadhidata

Kila CPF iliyozalishwa inapitisha algoritmu rasmi ya uhalalishaji wa Brazil, kwa hivyo unaweza kupima mantiki yako ya uhalalishaji kwa imani. Nambari zinazozalishwa kila wakati ni za nasibu, huku ikipunguza fursa ya migogoro katika seti yako ya data ya kupima.

Formula

Formula ya kuzalisha CPF halali ni kama ifuatavyo:

1def generate_cpf():
2    # Zalia tarakimu 9 za nasibu
3    base_cpf = [random.randint(0, 9) for _ in range(9)]
4    
5    # Hesabu tarakimu ya kwanza ya uhakiki
6    sum_1 = sum((10 - i) * digit for i, digit in enumerate(base_cpf))
7    check_digit_1 = (sum_1 * 10 % 11) % 10
8    
9    # Hesabu tarakimu ya pili ya uhakiki
10    sum_2 = sum((11 - i) * digit for i, digit in enumerate(base_cpf + [check_digit_1]))
11    check_digit_2 = (sum_2 * 10 % 11) % 10
12    
13    return base_cpf + [check_digit_1, check_digit_2]
14

Mahesabu

Kuzalisha inafanya hatua zifuatazo:

  1. Zalia tarakimu 9 za nasibu
  2. Hesabu tarakimu ya kwanza ya uhakiki kwa kutumia algoritmu iliyoelezwa hapo juu
  3. Hesabu tarakimu ya pili ya uhakiki
  4. Unganisha tarakimu zote ili kuunda CPF kamili

Mifano

Hivi ndivyo vinavyonekana CPF zilizozalishwa:

  1. 123.456.789-09
  2. 987.654.321-00
  3. 111.222.333-96

Matumizi Kawaida ya Kupima Nambari za CPF

Kulingana na hali halisi ya maendeleo, hapa ndipo utahitaji nambari za CPF zilizozalishwa:

Hali za Maendeleo na Upimaji

Mbegu ya hifadhidata na uhamiaji: Wakati wa kuanzisha mazingira ya ndani au ya kubadilishwa, unahitaji data ya kupima ya kweli. CPF zilizozalishwa zinakuwezesha kuunda rekodi za mtumiaji wa jaribio za mia au maelfu bila kuchanganya habari ya kibinafsi. Hii ni muhimu sana wakati wa kupima vizuio vya hifadhidata na vielelezo vya kipekee vya safu za CPF.

Kupima uhalalishaji wa fomu: Fomu za usajili wa Brazil kwa kawaida huhitaji uhalalishaji wa CPF upande wa mteja na seva. Kupima hali zinazoibuka—kama vile CPF zilizoundwa vizuri lakini batili, au tarakimu sawa (111.111.111-11)—husaidia kugundua kasoro za uhalalishaji kabla ya kuifikia uzalishaji. CPF zilizozalishwa zinakupa mifano ya uhalalishaji ya kuunganisha.

Kupima uunganishaji wa API: Wakati wa kujenga uunganishaji na malipo ya Brazil, huduma za fedha, au API za serikali, utahitaji nambari za CPF halali katika maombi yako ya jaribio. Kutumia CPF zilizozalishwa huiweka seti yako ya jaribio huru na data ya mtumiaji halisi.

Kupima mzigo na utendaji: Kwa kujaribu mifumo inayoshughulikia data ya watumiaji wa Brazil, unahitaji kiasi kikubwa cha CPF za kipekee na halali. Kuzalisha CPF za jaribio za maelfu kunakuwezesha kubainisha mzigo halisi bila wasiwasi wa faragha.

Uhalalishaji wa UI/UX: Kupima jinsi kiolesura chako kinavyoshughulikia onyesho, kufunika, na kubainisha CPF katika viwango tofauti vya skrini na muktadha. CPF zilizozalishwa husaidia kuhalalisha kuwa mantiki yako ya kubainisha inafanya kazi kwa tahadhari.

Mapungufu Yanayotokea Mara Kwa Mara

Kosa moja ambalo wasanidi mara kwa mara hupuuza ni kuwa tarakimu sawa (kama 000.000.000-00 au 111.111.111-11) zinahalalishwa kwa kisayansi lakini zinakataliwa na mifumo halisi ya Brazil. Wakati wa kupima, jumuisha vipimo vya hali hizi ambazo zinahalalishwa kwa hesabu lakini hazitumiki.

Suala lingine: CPF zilizozalishwa zizuri kwa kupima mantiki ya uhalalishaji, lakini hazitasaidia kupima CPF za moja kwa moja dhidi ya hifadhidata za serikali. Kwa jaribio la uunganishaji ambalo linahoji API za serikali za Brazil, utahitaji CPF maalum za jaribio zilizotolewa na huduma hizo (kama vile mazingira ya jaribio ya Serpro).

[The translation continues in the same manner for the rest of the document...]

Mfano wa Matumizi

cpf = generate_cpf() print(f"CPF Iliyoundwa: {cpf}") print(f"Ni halali: {validate_cpf(cpf)}")

1
2

javascript function generateCPF() { const cpf = Array.from({length: 9}, () => Math.floor(Math.random() * 10)); for (let i = 0; i < 2; i++) { let sum = cpf.reduce((acc, cur, idx) => acc + cur * (cpf.length + 1 - idx), 0); let digit = 11 - (sum % 11); cpf.push(digit > 9 ? 0 : digit); } return cpf.join(''); }

function validateCPF(cpf) { const numbers = cpf.match(/\d/g).map(Number); if (numbers.length !== 11 || new Set(numbers).size === 1) return false; for (let i = 9; i < 11; i++) { let sum = numbers.slice(0, i).reduce((acc, cur, idx) => acc + cur * (i + 1 - idx), 0); let digit = 11 - (sum % 11); if (numbers[i] !== (digit > 9 ? 0 : digit)) return false; } return true; }

// Mfano wa Matumizi const cpf = generateCPF(); console.log(CPF Iliyoundwa: ${cpf}); console.log(Ni halali: ${validateCPF(cpf)});

1
2

java import java.util.Random;

public class CPFGenerator { private static final Random random = new Random();

public static String generateCPF() {
    int[] cpf = new int[11];
    for (int i = 0; i < 9; i++) {
        cpf[i] = random.nextInt(10);
    }
    cpf[9] = calculateCheckDigit(cpf, 10);
    cpf[10] = calculateCheckDigit(cpf, 11);
    return formatCPF(cpf);
}

private static int calculateCheckDigit(int[] cpf, int factor) {
    int sum = 0;
    for (int i = 0; i < factor - 1; i++) {
        sum += cpf[i] * (factor - i);
    }
    int result = 11 - (sum % 11);
    return result > 9 ? 0 : result;
}

private static String formatCPF(int[] cpf) {
    return String.format("%d%d%d.%d%d%d.%d%d%d-%d%d",
            cpf[0], cpf[1], cpf[2], cpf[3], cpf[4], cpf[5], cpf[6], cpf[7], cpf[8], cpf[9], cpf[10]);
}

public static boolean validateCPF(String cpf) {
    cpf = cpf.replaceAll("[^0-9]", "");
    if (cpf.length() != 11) return false;
    int[] numbers = cpf.chars().map(Character::getNumericValue).toArray();
    if (allEqual(numbers)) return false;
    int digit10 = calculateCheckDigit(numbers, 10);
    int digit11 = calculateCheckDigit(numbers, 11);
    return numbers[9] == digit10 && numbers[10] == digit11;
}

private static boolean allEqual(int[] array) {
    for (int i = 1; i < array.length; i++) {
        if (array[i] != array[0]) return false;
    }
    return true;
}

public static void main(String[] args) {
    String cpf = generateCPF();
    System.out.println("CPF Iliyoundwa: " + cpf);
    System.out.println("Ni halali: " + validateCPF(cpf));
}

}


**Kutumia Utekelezaji huu:**

- Vitendaji vya uthibitisho vina uwezo wa kushughulia pembejembe zilizoangaziwa (XXX.XXX.XXX-XX) na zisizoangaziwa (XXXXXXXXXXX)
- Ongeza vipimo vya vipimo visivyofaa (tarakimu sawa) katika msimbo wa uzalishaji
- Fikiria kutumia maktaba zilizowekwa kama `validate-docbr` (Python) au `cpf-cnpj-validator` (JavaScript) kwa mifumo ya uzalishaji—zinashughulia hali za ziada na zimejaribiwa vizuri
- Mifano hii ni ya kufurahisha kuelewa algoritmu au kujenga utekelezaji wa kina bila kutegemea vifaa vya nje

## Maswali Yanayoulizwa Mara Kwa Mara Kuhusu Uzalishaji wa CPF

### Je, kizalishaji cha CPF ni bure kutumia?
Ndiyo, chombo hiki ni kabisa bure bila ya usajili. Zalia namba za CPF zinavyohitajika kwa ajili ya majaribio isiyo na vikomo vya matumizi au ada zilizofichika.

### Je, namba za CPF zilizozalishwa zinahusiana na watu halisi?
Hapana. Ingawa namba hizi ni halali kimasihi na zinavunja vipimo vya uhakiki, zinazotengenezwa kwa nasibu na hazijaandikishwa na Receita Federal ya Brazil. Zinapatikana tu kama data ya jaribio na zinatumika tu katika mazingira ya maendeleo na jaribio.

### Je, naweza kutumia CPFs zilizozalishwa katika mifumo ya uzalishaji?
Kamwe. Mifumo ya uzalishaji lazima itumie CPFs halisi, zilizothibitishwa zilizotolewa na watumiaji halisi kupitia michakato ya usajili halali. Kutumia CPFs zilizozalishwa katika mifumo hai ya moja kwa moja kunakiuka kanuni za utunzaji wa data na inaweza kusababisha matatizo ya kisheria makubwa chini ya [sheria ya ulinzi wa data ya Brazil (LGPD)](https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd).

### Je, kizalishaji kinahakikisha uhakiki wa CPF vipi?
Chombo hiki hutekeleza algoritmu ya uhakiki wa CPF rasmi ya Brazil kama ilivyobainishwa na Receita Federal. Inakokotoa tarakimu mbili za uhakiki kwa formula ya modulo-11 yenye uzito, ikihakikisha kuwa kila namba iliyozalishwa inapitisha vipimo vya uhakiki wa kawaida. Algoritmu ni sawa na ile inayotumika na mifumo ya serikali ya Brazil na taasisi za fedha.

### Tofauti gani kati ya CPF na CNPJ?
CPF (Cadastro de Pessoas Físicas) inabainisha watu binafsi—raia na wakaaji. CNPJ (Cadastro Nacional da Pessoa Jurídica) inabainisha biashara na taasisi za kisheria. Fikiria CPF kama nambari ya Usalama wa Kijamii nchini Marekani, wakati CNPJ iko sawa na Nambari ya Utambulisho wa Mwajiri (EIN). Utahitaji vizalishaji tofauti kwa kila aina.

### Je, ni halali kuzalisha namba za CPF za jaribio?
Kuzalisha namba za CPF kwa ajili ya majaribio ya programu halali na maendeleo ni halali. Jambo lisilo halali ni kuziburudisha—kubuni kuwa watu halisi, kufanya uhalifu wa utambulisho, au kupuuza vizuizi vya usalama. Weka CPFs zilizozalishwa kwa wazi kama data ya jaribio na zizuie katika mazingira yasiyo ya uzalishaji.

### Je, kuhusu CPFs zinazorudiwa?
Ingawa kinasibu inawezekana, kurudi ni vigumu sana. Kuna takriban bilioni 100 ya mchanganyiko ya CPF halali (ikizingatia vikwazo vya tarakimu ya uhakiki), kwa hivyo uwezekano wa kuzalisha namba sawa mara mbili ni karibu 1 kati ya bilioni 100 kwa kila jaribio. Katika mazingira ya jaribio ya vitendo, kurudi hakutakuwa jambo la wasiwasi isipokuwa unazalisha bilioni za CPFs.

### Je, CPFs zilizozalishwa zinafanya kazi na maktaba ya uhakiki?
Ndiyo. CPFs zilizozalishwa zinakubalika katika maktaba maajabu katika lugha mbalimbali—`validate-docbr` ya Python, `cpf-cnpj-validator` ya JavaScript, `geekcom/validator-docs` ya PHP, na mengineyo. Zinashughulikia mahitaji ya kimasihi ambayo maktaba hizi zinachunguza. Hata hivyo, hazitapitisha vipimo vya "uhakiki wa CPF halisi" dhidi ya hifadhi data za serikali, ambayo ni kile unachohitaji kwa jaribio la kisera.

### Kwa nini baadhi ya CPFs halisi zinaruhusu uhakiki wangu?
Kiuhakiki chako kinaweza kuchunguza mifumo isiyokuwa halali zaidi ya algoritmu ya kimasihi. Kwa mfano, CPFs zenye tarakimu sawa (000.000.000-00, 111.111.111-11, nk.) ni halali kimasihi lakini zinazuiwa na mifumo mingi ya Brazil kwa sababu ni thamani za jaribio zilizojulikana. Mantiki ya uhakiki nzuri inahusisha algoritmu ya tarakimu ya uhakiki na pia kuzuia hizi.

## Usidizi wa Kisheria na Kimaadili

Unapotumia **kizalisha CPF**, fuata mwongozo huu muhimu:

1. **Jaribio tu:** CPF zilizozalishwa zinatumika tu katika mazingira ya maendeleo na jaribio
2. **Lebo wazi:** Weka alama kwenye data ya jaribio inayojumuisha CPF zilizozalishwa ili kuzuia utata na data halisi
3. **Kufuata usiri:** Elewa sheria za ulinzi wa data (kama vile LGPD nchini Brazil) hata unaposhughulikia kitambulisho cha bandia
4. **Mifumo ya uzalishaji:** Tumia CPF halisi, iliyothibitishwa kutoka vyanzo vilivyoidhinishwa katika mazingira ya moja kwa moja
5. **Hatimiliki za usalama:** Tekeleza ulinzi sahihi kwa CPF za halisi na zilizozalishwa katika mifumo yako
6. **Usitumie ubadhirifu:** Kamwe usitumie nambari zilizozalishwa kuiga watu halisi au kufanya ubadhirifu

## Kutumia CPF Zilizozalishwa katika Seti Yako ya Jaribio

Kwa wasanidi programu wanaofanya kazi kwenye programu za Brazil, kuwa na data ya jaribio ya kuaminika ni jambo muhimu sana. Kizalishaji hiki cha CPF hutoa nambari zenye uhakika wa kimasihi ambazo zinapitisha vipimo vya uhakiki wakati wa kuhifadhi jaribio yako kabisa toka data halisi ya mtumiaji.

Kumbuka pointi muhimu hizi unapojumlisha CPF zilizozalishwa katika mfumo wako:

- **Weka alama ya data ya jaribio kwa wazi** katika mifumo ya hifadhidata yako na nyaraka
- **Tekeleza vipimo vya muundo** kwa CPF zisizokuwa halali (tarakimu sawa) katika uhakiki wako
- **Tumia CPF zilizozalishwa tu katika mazingira yasiyo ya uzalishaji**—eneo la majaribio, maendeleo, na mifumo ya CI/CD
- **Chunguza vipimo vya uhakiki rasmi** kutoka [Receita Federal](https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf) unapojengwa kwa mantiki yako mwenyewe ya uhakiki

Bonyeza kitufe cha kuzalisha hapo juu ili unda nambari za CPF halali kwa mahitaji yako ya jaribio.

## Marejeleo na Dokumenteisheni Rasmi

Kwa habari ya kitaalam kuhusu viwango vya CPF na kanuni za data za Brazil:

1. **Receita Federal do Brasil.** "CPF - Cadastro de Pessoas FĂ­sicas." Dokumenteisheni rasmi ya mahitaji na uthibitishaji wa CPF. [https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf](https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf)

2. **Serpro (Huduma ya Uchakataji wa Data ya Serikali).** "Validador de CPF." Huduma ya uthibitishaji wa CPF ya serikali yenye mazingira ya jaribio. [https://www.serpro.gov.br/links-fixos-superiores/validador-cpf](https://www.serpro.gov.br/links-fixos-superiores/validador-cpf)

3. **Lei Geral de Proteção de Dados (LGPD).** "Sheria ya Ulinzi wa Data ya Brazil." Mfumo wa kisheria unaotawala usimamizi wa data binafsi nchini Brazil. [https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd](https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd)

4. **Lei nÂş 4.862/1965.** "Inabadilisha sheria ya kodi ya mapato." Sheria ya awali iliyoanzisha mfumo wa CPF. [https://www.planalto.gov.br/ccivil_03/leis/l4862.htm](https://www.planalto.gov.br/ccivil_03/leis/l4862.htm)

5. **Wizara ya Fedha.** "Historia ya CPF." Muktadha wa kihistoria na maendeleo ya mfumo wa CPF. [https://www.gov.br/fazenda/pt-br/assuntos/receita-federal](https://www.gov.br/fazenda/pt-br/assuntos/receita-federal)

---

**Kichwa cha Meta:** Jenereta ya CPF - Unda Vitambulisho vya Kodi vya Brazil Halali kwa Jaribio
**Maelezo ya Meta:** Jenereta ya CPF ya bure inayunga vitambulisho vya kodi vya Brazil ambavyo yanaishia katika mifumo ya uthibitishaji. Ya kufurahisha kwa kujaribu fomu, API, na hifadhidata bila kutumia data ya binafsi halisi.