সুচিপত্র:

ইলেকট্রনিক ওয়ালেট: 3 ধাপ
ইলেকট্রনিক ওয়ালেট: 3 ধাপ

ভিডিও: ইলেকট্রনিক ওয়ালেট: 3 ধাপ

ভিডিও: ইলেকট্রনিক ওয়ালেট: 3 ধাপ
ভিডিও: কিনলেই ওয়ালেট ফ্রি | Kaspersky Internet Security | Kaspersky | Smart 2024, জুন
Anonim
ইলেকট্রনিক মানিব্যাগ
ইলেকট্রনিক মানিব্যাগ

দ্রষ্টব্য: আমার কাছে এখন নির্দেশাবলী রয়েছে যা RC522 এবং PN532 এর জন্য Arduino কোড সরবরাহ করে।

আমার আগের পোস্টে আমি MFRC522 এবং PN532 RFID মডিউলগুলির সাথে যোগাযোগের জন্য মৌলিক বিষয়গুলি বিস্তারিতভাবে Mifare Classic 1k ট্যাগ থেকে পড়া/লেখার জন্য বিস্তারিত করেছি। এই পোস্টে আমি এটিকে আরও এক ধাপ এগিয়ে নিয়েছি এবং ট্যাগগুলি থেকে একটি ইলেকট্রনিক ওয়ালেট তৈরি করতে সেই মডিউলগুলি কীভাবে ব্যবহার করতে হয় তা দেখাব। পূর্ববর্তী পোস্টের মতো, এটি একটি মৌলিক বাস্তবায়ন হিসাবে উপস্থাপন করা হয়েছে কিন্তু বিভিন্ন অ্যাপ্লিকেশনের জন্য একটি ভিত্তি প্রদান করা উচিত যা বৃদ্ধি/হ্রাস বা ট্যালিং ফাংশন প্রয়োজন।

ধাপ 1: ডেটা ইন্টিগ্রিটি

একটি ইলেকট্রনিক মানিব্যাগের জন্য সবসময় একটি উদ্বেগ থাকে যে কেউ তাদের জন্য অর্থ প্রদান না করে ক্রেডিট যোগ করতে পারে। একটি উদ্বেগও রয়েছে যে ডেটা লেখার সময় ট্যাগের ক্রেডিটগুলি অনিচ্ছাকৃতভাবে দূষিত হতে পারে। ডেটা অ্যাক্সেসের জন্য ট্যাগ কী ব্যবহারের প্রয়োজন হয় তাই যখন ট্যাগটি প্রথম আরম্ভ করা হয় তখন ডিফল্ট কী পরিবর্তন করা প্রয়োজন। অনলাইনে এমন নিবন্ধ রয়েছে যা ট্যাগ হ্যাক করার বিষয়ে কথা বলে যদিও আপনি কীটি না জানলেও কৌশলটি তুচ্ছ নয়। আমি আপনার ব্যাঙ্ক অ্যাকাউন্টের জন্য এই ট্যাগগুলি ব্যবহার করার সুপারিশ করব না কিন্তু এগুলি অনেক কম ঝুঁকিপূর্ণ অ্যাপ্লিকেশনের জন্য যথেষ্ট ভাল।

ডেটা দুর্নীতির সম্ভাবনা অপেক্ষাকৃত কম কিন্তু সফ্টওয়্যারটি অন্তত মৌলিক ক্ষেত্রে পরিচালনা করতে সক্ষম হওয়া উচিত। এই প্রক্রিয়ায় দুর্নীতি সনাক্ত করার প্রথম ধাপের সাথে দুটি ধাপ জড়িত। এই প্রকল্পে যা ক্রেডিট মান এবং 1 এর ক্রেডিট ভ্যালুর পরিপূরক উভয়ই সংরক্ষণ করে পরিচালিত হয়। এটি মানগুলির একটি সহজ তুলনা করার অনুমতি দেয়। দ্বিতীয় ধাপ হল ক্রেডিট মান এবং এর পরিপূরক উভয়ের ব্যাকআপ সংস্করণ সংরক্ষণ করা। যদি ক্রেডিটের প্রথম সেটটি নষ্ট হয়ে যায় তবে এটি পুনরুদ্ধারের ক্রিয়াকলাপের অনুমতি দেয়। যদি উভয় সেটই নষ্ট হয়ে যায় তাহলে সফটওয়্যারটি ট্যাগটি পুনরায় চালু করার চেষ্টা করে যার ফলে সমস্ত ক্রেডিট নষ্ট হয়ে যায়।

ধাপ 2: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার

হার্ডওয়্যার সংযোগগুলি উপরের চিত্রটিতে দেখানো হয়েছে। এটি দুটি সুইচ এবং একটি পুল-আপ প্রতিরোধক সংযোজন সহ পূর্ববর্তী পোস্টের মতো একই সেটআপ। একটি সুইচের জন্য একটি পুল-আপ রোধের প্রয়োজন হয় না কারণ এটি একটি পিআইসি ইনপুটে থাকে যার মধ্যে একটি দুর্বল টান-আপ ক্ষমতা রয়েছে। অনুশীলনে উভয় সুইচ লুকানো থাকবে কারণ সেগুলি ক্রেডিট যোগ করার জন্য এবং একটি ট্যাগ শুরু করার জন্য ব্যবহৃত হয়। ইনিশিয়ালাইজ সুইচ alচ্ছিক (ম্যানুয়াল ক্রেডিট জিরো করার জন্য) কারণ সফটওয়্যারটি নিজেই একটি নতুন ট্যাগ সনাক্ত করতে এবং আরম্ভ করতে পারে। সুইচের পরিবর্তে জাম্পার পিন ব্যবহার করা যেতে পারে।

ধাপ 3: সফটওয়্যার

সফটওয়্যারের মূল লুপের সংযোজন দুটি সুইচ পড়ার জন্য এবং ট্যাগ শুরুর প্রয়োজনীয়তা শনাক্ত করার জন্য তৈরি করা হয়েছিল। হার্ডওয়্যার বিভাগে উল্লিখিত হিসাবে, ট্যাগ আরম্ভ ম্যানুয়ালি একটি সুইচ দিয়ে কমান্ড করা যেতে পারে। সফ্টওয়্যারটি অন্য দুটি ক্ষেত্রে একটি ট্যাগ আরম্ভের নির্দেশ দিতে পারে। প্রথমত, যদি এটি একটি নতুন ট্যাগ বা ডেটা সেক্টর সনাক্ত করে এবং দ্বিতীয়ত, যদি উভয় ক্রেডিট ডেটা দূষিত হয়।

ট্যাগগুলির প্রমাণীকরণের জন্য টার্গেট ডেটা সেক্টরের জন্য "কী এ" ব্যবহার প্রয়োজন। Mifare Classic 1k ট্যাগের জন্য ডিফল্ট কী হল "FF FF FF FF FF FF" কিন্তু আপনার আবেদনের জন্য এটি পরিবর্তন করা উচিত। সফ্টওয়্যারটি ডিফল্ট কী এবং একটি নতুন কী ("My_Key") উভয়ের জন্য সংজ্ঞা প্রদান করে। আপনি "My_Key" এর মধ্যে যা মান চান তা কেবল প্লাগ ইন করুন। সফটওয়্যারটি সর্বদা "My_Key" ব্যবহার করে প্রথমে ট্যাগটি প্রমাণ করার চেষ্টা করে। যদি এটি ব্যর্থ হয়, তাহলে ট্যাগটি শুরু করার রুটিন বলা হয় এবং প্রমাণীকরণের জন্য ডিফল্ট কী ব্যবহার করা হয়। প্রারম্ভিক রুটিন কীটিকে "মাই_কি" তে পরিবর্তন করে এবং ক্রেডিটগুলি শূন্যে সেট করে। যদি আপনার একটি ডিফল্ট কী সহ একটি ট্যাগ থাকে এবং আপনি এটি কী তা জানেন না, তাহলে ট্যাগটি প্রমাণিত হতে পারে না। যদি এটি ঘটে তবে আপনি ডিফল্ট কী ব্যবহার করে অন্যান্য ডেটা সেক্টরগুলি পরীক্ষা করতে চাইতে পারেন যদি কোনটি পাওয়া যায় কিনা। ট্রেলার ব্লক, ডেটা ব্লক, এবং ব্যাকআপ ব্লক সবই সফটওয়্যার তালিকার শুরুতে সংজ্ঞায়িত করা হয়েছে যাতে আপনি সেগুলি সহজেই পরিবর্তন করতে পারেন।

এই অ্যাপ্লিকেশনের জন্য ট্যাগে সংরক্ষিত ডেটার ফরম্যাট শুধুমাত্র ইতিবাচক সংখ্যা ব্যবহার করে (কোন ঘাটতি অনুমোদিত নয়) এবং মানগুলি প্যাকড BCD (বাইনারি কোডেড দশমিক) এর চার বাইট হিসাবে সংরক্ষণ করা হয়। এটি 0 থেকে 99, 999, 999 (প্রতি বাইটে দুই ডিজিট) পর্যন্ত ক্রেডিট পরিসরের অনুমতি দেয়। ক্রেডিট মান এবং এর 1 এর পরিপূরক শুধুমাত্র 16 টি বাইটের মধ্যে 8 টি একক ডেটা ব্লকে ব্যবহার করে এবং বাকিগুলি শূন্য দিয়ে প্যাড করা হয়। ব্যাকআপ কপির জন্য একই ডেটা ব্লকে জায়গা আছে কিন্তু আমি সিদ্ধান্ত নিয়েছি যে ব্যাকআপটিকে আলাদা ডেটা ব্লকে রাখা নিরাপদ হবে। ব্যাকআপ ব্লক ডেটা ব্লকের মতো একই সেক্টরে তাই আলাদা প্রমাণীকরণের প্রয়োজন নেই। আরও নিরাপদ হওয়ার জন্য আপনি একটি ভিন্ন ডেটা সেক্টরে ব্যাকআপ রাখার কথা ভাবতে পারেন কিন্তু তারপর সেই ডেটা অ্যাক্সেস করার জন্য একটি পৃথক প্রমাণীকরণ পদক্ষেপ প্রয়োজন হবে।

যখন ক্রেডিটগুলির একটি পড়া সম্পন্ন হয় তখন পরিপূরক মানও পড়া হয় এবং তারপর দুটিকে একে অপরের সাথে তুলনা করা হয়। যদি কোন মিল না থাকে, তাহলে মান/পরিপূরক ব্যাকআপ সেটটি পড়ে এবং তুলনা করা হয়। যদি তারা মিলে যায় তবে ব্যাকআপটি সঠিক বলে ধরে নেওয়া হয় এবং দূষিত ডেটা মেরামত করতে ব্যবহৃত হয়। যদি ব্যাকআপ কপিগুলি মেলে না তবে ট্যাগটি খারাপ বলে মনে করা হয় এবং এটি পুনরায় আরম্ভ করার চেষ্টা করা হয়।

বৃদ্ধি এবং হ্রাসের মানগুলি তালিকার সামনের দিকে সংজ্ঞায়িত করা হয়েছে এবং এটি প্যাকড বিসিডিতে থাকবে বলে আশা করা হচ্ছে। যে রুটিনগুলি বৃদ্ধি এবং হ্রাস কার্যকর করে তা 32-বিট সংখ্যায় করে। গণিত খুবই সহজ কিন্তু প্রতিটি প্যাকেটযুক্ত BCD বাইটের মধ্যে এবং এক বাইট থেকে পরের দিকে ফলাফল বহন করার জন্য রুটিনের ব্যবহার প্রয়োজন। এটি ম্যাক্রো DAA (দশমিক সমন্বয় সংযোজন) এবং DAS (দশমিক সমন্বয় বিয়োগ) ব্যবহারের মাধ্যমে সম্পন্ন হয়। এই ম্যাক্রোগুলি নিশ্চিত করে যে প্রতিটি 4-বিট বিসিডি ডিজিট সর্বদা 0-9 এর সীমার মধ্যে থাকে।

পূর্ববর্তী পোস্টে প্রদর্শিত বার্তা ছাড়াও, এই অ্যাপ্লিকেশনে অতিরিক্ত পদক্ষেপগুলির জন্য বার্তা রয়েছে - বিশেষ করে যদি ডেটা ত্রুটি থাকে এবং/অথবা ট্যাগটি সংশোধন বা আরম্ভ করা প্রয়োজন। ক্রেডিটগুলি বৃদ্ধি/হ্রাসের ধাপের আগে এবং পরে প্রদর্শিত হয় যাতে আপনি মান পরিবর্তন দেখতে পারেন।

এই পোস্টের জন্য এটাই। আমার অন্যান্য ইলেকট্রনিক্স প্রকল্পগুলি দেখুন: www.boomerrules.wordpress.com

প্রস্তাবিত: