পরীক্ষার জন্য বৈধ এলোমেলো CPF নম্বর জেনারেটর
পরীক্ষার উদ্দেশ্যে বৈধ, এলোমেলো CPF (Cadastro de Pessoas Físicas) নম্বর তৈরি করুন। এই সরঞ্জামটি CPFs তৈরি করে যা অফিসিয়াল ব্রাজিলিয়ান ফরম্যাট এবং যাচাইকরণ নিয়মের সাথে সঙ্গতিপূর্ণ, কোন বাস্তব ব্যক্তিগত তথ্য ব্যবহার না করেই।
সিপিএফ তৈরি করুন
ডকুমেন্টেশন
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
- প্রথমের মতো একই নিয়ম ব্যবহার করে দ্বিতীয় চেক ডিজিট গণনা করুন
এই জেনারেটর কীভাবে ব্যবহার করবেন
- "Generate 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"Generated CPF: {cpf}")
23print(f"Is valid: {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(`Generated CPF: ${cpf}`);
25console.log(`Is valid: ${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("Generated CPF: " + cpf);
50 System.out.println("Is valid: " + validateCPF(cpf));
51 }
52}
53
এই উদাহরণগুলি Python, JavaScript এবং Java তে CPF তৈরি এবং যাচাই করার পদ্ধতি প্রদর্শন করে। আপনি এই ফাংশনগুলি আপনার নির্দিষ্ট প্রয়োজনীয়তার জন্য অভিযোজিত করতে পারেন বা CPF পরিচালনার জন্য বৃহত্তর সিস্টেমে সেগুলি একীভূত করতে পারেন।
আইনগত এবং নৈতিক বিবেচনা
তৈরি করা CPF ব্যবহার করার সময়, নিম্নলিখিত বিষয়গুলি মনে রাখা গুরুত্বপূর্ণ:
- তৈরি করা CPF শুধুমাত্র পরীক্ষার উদ্দেশ্যে এবং কখনও বাস্তব ব্যক্তিদের প্রতিস্থাপন করতে বা কোনও প্রতারণামূলক কার্যকলাপে ব্যবহার করা উচিত নয়।
- বাস্তব ব্যক্তিগত তথ্যের সাথে বিভ্রান্তি এড়াতে যে কোনও পরীক্ষার ডেটা স্পষ্টভাবে লেবেল করুন যাতে তৈরি করা CPF অন্তর্ভুক্ত থাকে।
- বাস্তব এবং তৈরি করা উভয় CPF আপনার সিস্টেমে সুরক্ষিত রাখতে যথাযথ নিরাপত্তা ব্যবস্থা বাস্তবায়ন করুন।
- উৎপাদন পরিবেশে, সর্বদা ব্যবহারকারীদের বা অনুমোদিত উত্স দ্বারা সরবরাহিত বাস্তব, যাচাইকৃত CPF ব্যবহার করুন।
প্রতিক্রিয়া
এই টুল সম্পর্কে প্রতিক্রিয়া দিতে শুরু করতে প্রতিক্রিয়া টোস্টে ক্লিক করুন
সম্পর্কিত টুলস
আপনার কাজের প্রবাহের জন্য উপকারী হতে পারে এমন আরও টুল আবিষ্কার করুন