चाचणीसाठी वैध आणि यादृच्छिक CPF जनरेटर साधन
चाचणी उद्देशांसाठी वैध, यादृच्छिक CPF (कadastro de Pessoas Físicas) क्रमांक तयार करा. हा साधन अधिकृत ब्राझीलियन स्वरूप आणि प्रमाणीकरण नियमांचे पालन करणारे CPF तयार करते, कोणतीही वास्तविक वैयक्तिक माहिती वापरलेली नाही.
CPF तयार करा
दस्तऐवजीकरण
CPF जनरेटर
परिचय
CPF (Cadastro de Pessoas Físicas) हा ब्राझीलच्या नागरिकांना आणि रहिवाशांना कर उद्देशांसाठी दिला गेलेला एक अद्वितीय ओळख क्रमांक आहे. हा जनरेटर चाचणी उद्देशांसाठी वैध, यादृच्छिक CPF क्रमांक तयार करतो. हे लक्षात घेणे महत्त्वाचे आहे की, या जनरेट केलेल्या CPF क्रमांकांचा वास्तविक व्यक्तींशी संबंध नाही आणि त्यांचा वापर फक्त चाचणी वातावरणात केला पाहिजे.
CPF ची रचना
एक CPF 11 अंकांचा असतो:
- पहिले 9 अंक आधार क्रमांक आहेत
- शेवटचे 2 अंक तपास अंक आहेत
फॉरमॅट सामान्यतः खालीलप्रमाणे दर्शविला जातो: XXX.XXX.XXX-XX
CPF वैधता अल्गोरिदम
CPF वैधता अल्गोरिदम क्रमांकाची अखंडता सुनिश्चित करतो. हे कसे कार्य करते:
- पहिल्या 9 अंकांना वजन (10 ते 2) ने गुणा करा
- परिणामांची बेरीज करा
- बेरीज 11 ने भाग दिल्यावर उरलेला शेष काढा
- जर शेष 2 पेक्षा कमी असेल तर पहिला तपास अंक 0 आहे; अन्यथा, तो शेष काढून 11
- पहिल्या 10 अंकांसाठी (पहिल्या तपास अंकासह) प्रक्रिया पुनरावृत्ती करा, वजन 11 ते 2
- पहिल्या प्रमाणानुसार दुसरा तपास अंक काढा
या जनरेटरचा वापर कसा करावा
- "CPF जनरेट करा" बटणावर क्लिक करा
- एक वैध, यादृच्छिक CPF प्रदर्शित केला जाईल
- तुम्ही जनरेट केलेला CPF कॉपी करून तुमच्या चाचणी परिस्थितीत वापरू शकता
सूत्र
वैध CPF तयार करण्याचे सूत्र खालीलप्रमाणे आहे:
1def generate_cpf():
2 # 9 यादृच्छिक अंक तयार करा
3 base_cpf = [random.randint(0, 9) for _ in range(9)]
4
5 # पहिला तपास अंक काढा
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 # दुसरा तपास अंक काढा
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
गणना
जनरेटर खालील चरणांचे पालन करतो:
- 9 यादृच्छिक अंक तयार करा
- वरील वर्णन केलेल्या अल्गोरिदमचा वापर करून पहिला तपास अंक काढा
- दुसरा तपास अंक काढा
- सर्व अंक एकत्र करून संपूर्ण CPF तयार करा
उदाहरणे
येथे काही जनरेट केलेले CPF उदाहरणे आहेत:
- 123.456.789-09
- 987.654.321-00
- 111.222.333-96
वापर प्रकरणे
CPF जनरेटर विविध सॉफ्टवेअर विकास आणि चाचणी परिस्थितींमध्ये उपयुक्त आहे:
- डेटाबेस चाचणी: वैध CPF क्रमांकांसह चाचणी डेटाबेस भरा
- फॉर्म वैधता: ब्राझीलियन वापरकर्ता नोंदणी फॉर्मसाठी इनपुट वैधतेची चाचणी करा
- API चाचणी: वैध ब्राझीलियन ओळख आवश्यक असलेल्या API विनंत्यांमध्ये जनरेट केलेले CPF वापरा
- कार्यक्षमता चाचणी: लोड चाचणीसाठी अद्वितीय, वैध CPF च्या मोठ्या संचांची निर्मिती करा
- UI/UX चाचणी: वापरकर्ता इंटरफेसमध्ये CPF क्रमांकांची योग्य फॉरमॅटिंग आणि प्रदर्शन सुनिश्चित करा
पर्याय
ब्राझीलमध्ये CPF हा प्राथमिक वैयक्तिक ओळख क्रमांक असला तरी, विशिष्ट संदर्भांमध्ये वापरले जाऊ शकणारे इतर ओळख क्रमांक आहेत:
- RG (Registro Geral): राज्याने जारी केलेला ओळख दस्तऐवज
- CNPJ (Cadastro Nacional da Pessoa Jurídica): व्यवसाय आणि कायदेशीर व्यक्तींसाठी वापरला जातो
- PIS/PASEP: रोजगार संबंधित उद्देशांसाठी वापरला जातो
इतिहास
CPF 1965 मध्ये ब्राझीलमध्ये देशाच्या कर प्रणालीचे आधुनिकीकरण करण्याच्या व्यापक प्रयत्नांचा भाग म्हणून सुरू करण्यात आला. प्रारंभिक काळात, याचा वापर मुख्यतः उत्पन्न कर उद्देशांसाठी केला जात होता, परंतु काळानुसार, याचा वापर ब्राझीलच्या प्रशासन आणि वाणिज्याच्या विविध इतर क्षेत्रांमध्ये वाढला.
CPF इतिहासातील मुख्य टप्पे:
- 1965: व्यक्तींकरिता CPF सुरू
- 1972: सर्व कर भरणाऱ्या व्यक्तींसाठी CPF अनिवार्य बनतो
- 1990 च्या दशकात: व्यावसायिक आणि आर्थिक व्यवहारांमध्ये CPF चा वापर अधिक व्यापक होतो
- 2000 च्या दशकात: डिजिटल प्रणाली CPF ला ब्राझीलमधील दैनंदिन जीवनात आणखी एकत्रित करतात
आज, CPF हा ब्राझीलच्या नागरिकांच्या आणि रहिवाशांच्या सरकारी सेवांशी, वित्तीय संस्थांशी, आणि अनेक वाणिज्यिक व्यवहारांशी संवाद साधण्याचा एक आवश्यक भाग आहे.
कोड उदाहरणे
विविध प्रोग्रामिंग भाषांमध्ये CPF तयार करण्याची आणि वैधता तपासण्याची कोड स्निप्पेट्स येथे आहेत:
1import random
2
3def generate_cpf():
4 cpf = [random.randint(0, 9) for _ in range(9)]
5 for _ in range(2):
6 value = sum((cpf[num] * ((len(cpf) + 1) - num) for num in range(len(cpf)))) % 11
7 cpf.append(11 - value if value > 1 else 0)
8 return ''.join(map(str, cpf))
9
10def validate_cpf(cpf):
11 numbers = [int(digit) for digit in cpf if digit.isdigit()]
12 if len(numbers) != 11 or len(set(numbers)) == 1:
13 return False
14 for i in range(9, 11):
15 value = sum((numbers[num] * ((i + 1) - num) for num in range(i))) % 11
16 if numbers[i] != (11 - value if value > 1 else 0):
17 return False
18 return True
19
20## उदाहरण वापर
21cpf = generate_cpf()
22print(f"जनरेट केलेला CPF: {cpf}")
23print(f"वैध आहे का: {validate_cpf(cpf)}")
24
1function generateCPF() {
2 const cpf = Array.from({length: 9}, () => Math.floor(Math.random() * 10));
3 for (let i = 0; i < 2; i++) {
4 let sum = cpf.reduce((acc, cur, idx) => acc + cur * (cpf.length + 1 - idx), 0);
5 let digit = 11 - (sum % 11);
6 cpf.push(digit > 9 ? 0 : digit);
7 }
8 return cpf.join('');
9}
10
11function validateCPF(cpf) {
12 const numbers = cpf.match(/\d/g).map(Number);
13 if (numbers.length !== 11 || new Set(numbers).size === 1) return false;
14 for (let i = 9; i < 11; i++) {
15 let sum = numbers.slice(0, i).reduce((acc, cur, idx) => acc + cur * (i + 1 - idx), 0);
16 let digit = 11 - (sum % 11);
17 if (numbers[i] !== (digit > 9 ? 0 : digit)) return false;
18 }
19 return true;
20}
21
22// उदाहरण वापर
23const cpf = generateCPF();
24console.log(`जनरेट केलेला CPF: ${cpf}`);
25console.log(`वैध आहे का: ${validateCPF(cpf)}`);
26
1import java.util.Random;
2
3public class CPFGenerator {
4 private static final Random random = new Random();
5
6 public static String generateCPF() {
7 int[] cpf = new int[11];
8 for (int i = 0; i < 9; i++) {
9 cpf[i] = random.nextInt(10);
10 }
11 cpf[9] = calculateCheckDigit(cpf, 10);
12 cpf[10] = calculateCheckDigit(cpf, 11);
13 return formatCPF(cpf);
14 }
15
16 private static int calculateCheckDigit(int[] cpf, int factor) {
17 int sum = 0;
18 for (int i = 0; i < factor - 1; i++) {
19 sum += cpf[i] * (factor - i);
20 }
21 int result = 11 - (sum % 11);
22 return result > 9 ? 0 : result;
23 }
24
25 private static String formatCPF(int[] cpf) {
26 return String.format("%d%d%d.%d%d%d.%d%d%d-%d%d",
27 cpf[0], cpf[1], cpf[2], cpf[3], cpf[4], cpf[5], cpf[6], cpf[7], cpf[8], cpf[9], cpf[10]);
28 }
29
30 public static boolean validateCPF(String cpf) {
31 cpf = cpf.replaceAll("[^0-9]", "");
32 if (cpf.length() != 11) return false;
33 int[] numbers = cpf.chars().map(Character::getNumericValue).toArray();
34 if (allEqual(numbers)) return false;
35 int digit10 = calculateCheckDigit(numbers, 10);
36 int digit11 = calculateCheckDigit(numbers, 11);
37 return numbers[9] == digit10 && numbers[10] == digit11;
38 }
39
40 private static boolean allEqual(int[] array) {
41 for (int i = 1; i < array.length; i++) {
42 if (array[i] != array[0]) return false;
43 }
44 return true;
45 }
46
47 public static void main(String[] args) {
48 String cpf = generateCPF();
49 System.out.println("जनरेट केलेला CPF: " + cpf);
50 System.out.println("वैध आहे का: " + validateCPF(cpf));
51 }
52}
53
हे उदाहरणे Python, JavaScript, आणि Java मध्ये CPF तयार करण्याची आणि वैधता तपासण्याची प्रक्रिया दर्शवतात. तुम्ही या कार्ये तुमच्या विशिष्ट गरजांसाठी अनुकूलित करू शकता किंवा CPF हाताळण्यासाठी आवश्यक असलेल्या मोठ्या प्रणालींमध्ये समाकलित करू शकता.
कायदेशीर आणि नैतिक विचार
जनरेट केलेल्या CPF चा वापर करताना, खालील मुद्दे लक्षात ठेवणे महत्त्वाचे आहे:
- जनरेट केलेले CPF फक्त चाचणी उद्देशांसाठी आहेत आणि कधीही वास्तविक व्यक्तींना अनुकरण करण्यासाठी किंवा कोणत्याही फसव्या क्रियाकलापांसाठी वापरले जाऊ नयेत.
- वास्तविक वैयक्तिक डेटा सह गोंधळ टाळण्यासाठी जनरेट केलेल्या CPF सह कोणत्याही चाचणी डेटाला स्पष्टपणे लेबल करा.
- वास्तविक आणि जनरेट केलेल्या CPF चा हाताळताना तुमच्या क्षेत्रातील डेटा संरक्षण कायद्या आणि नियमांची माहिती ठेवा.
- उत्पादन वातावरणात, नेहमी वापरकर्त्यांनी किंवा अधिकृत स्रोतांनी प्रदान केलेले वास्तविक, सत्यापित CPF वापरा.
- तुमच्या प्रणालींमध्ये वास्तविक आणि जनरेट केलेल्या CPF दोन्हीचे संरक्षण करण्यासाठी योग्य सुरक्षा उपाय लागू करा.
संदर्भ
- Receita Federal do Brasil. "CPF - Cadastro de Pessoas Físicas." https://www.gov.br/receitafederal/pt-br/assuntos/orientacao-tributaria/cadastros/cpf
- Serpro. "Validador de CPF." https://www.serpro.gov.br/links-fixos-superiores/validador-cpf
- Ministério da Fazenda. "História do CPF." https://www.gov.br/fazenda/pt-br/assuntos/receita-federal
- Lei nº 4.862, de 29 de novembro de 1965. "Altera a legislação do impôsto de renda, adota diversas medidas de ordem fiscal e fazendária, e dá outras providências."
प्रतिसाद
या साधनाबद्दल प्रतिसाद देण्यासाठी प्रतिसाद टॉस्टवर क्लिक करा
संबंधित साधने
तुमच्या कार्यप्रवाहासाठी उपयुक्त असलेल्या अधिक साधनांचा शोध घ्या