परीक्षण उद्देश्यों के लिए मान्य, यादृच्छिक CPF (Cadastro de Pessoas Físicas) नंबर उत्पन्न करें। यह उपकरण ऐसे CPF बनाता है जो आधिकारिक ब्राज़ीलियाई प्रारूप और मान्यता नियमों का पालन करते हैं, बिना किसी वास्तविक व्यक्तिगत जानकारी का उपयोग किए।
CPF (Cadastro de Pessoas Físicas) एक अद्वितीय पहचानकर्ता है जो ब्राज़ील के नागरिकों और निवासियों को कर उद्देश्यों के लिए सौंपा जाता है। यह जनरेटर परीक्षण उद्देश्यों के लिए वैध, यादृच्छिक CPF नंबर बनाता है। यह ध्यान रखना महत्वपूर्ण है कि ये जनरेट किए गए CPF वास्तविक व्यक्तियों से जुड़े नहीं हैं और केवल परीक्षण वातावरण में उपयोग के लिए हैं।
एक CPF 11 अंकों का होता है:
फॉर्मेट आमतौर पर इस प्रकार दर्शाया जाता है: XXX.XXX.XXX-XX
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
जनरेटर निम्नलिखित चरणों को पूरा करता है:
यहाँ कुछ जनरेट किए गए CPF के उदाहरण दिए गए हैं:
CPF जनरेटर विभिन्न सॉफ़्टवेयर विकास और परीक्षण परिदृश्यों में उपयोगी है:
हालांकि CPF ब्राज़ील में प्राथमिक व्यक्तिगत पहचानकर्ता है, कुछ विशिष्ट संदर्भों में अन्य पहचानकर्ताओं का उपयोग किया जा सकता है:
CPF को 1965 में ब्राज़ील में देश के कर प्रणाली को आधुनिक बनाने के व्यापक प्रयास के हिस्से के रूप में पेश किया गया था। प्रारंभ में, इसका उपयोग मुख्य रूप से आयकर उद्देश्यों के लिए किया जाता था, लेकिन समय के साथ, इसके उपयोग का विस्तार ब्राज़ील की नौकरशाही और वाणिज्य के विभिन्न अन्य क्षेत्रों में हुआ।
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 का उपयोग करते समय, निम्नलिखित बिंदुओं को ध्यान में रखना महत्वपूर्ण है:
अपने वर्कफ़्लो के लिए उपयोगी हो सकने वाले और अधिक उपकरण खोजें।