HMAC জেনারেটর (ব্রাউজারে HMAC-SHA256 গণনা করুন)
এখানেই HMAC SHA256 জেনারেট করার জন্য একটি HMAC গণনা সরঞ্জাম। কী এবং ইনপুটগুলো পাঠানো বা সংরক্ষণ করা হয় না।
টেক্সট/হেক্স/Base64 ইনপুট এবং হেক্স/Base64 আউটপুট সাপোর্ট করে। ব্রাউজারের স্ট্যান্ডার্ড ক্রিপ্টো এপিআই ব্যবহার করে নিরাপদে গণনা করে।
ইনপুট এবং আউটপুট
এই পেজটি সম্পূর্ণভাবে ব্রাউজারের মধ্যে গণনা করে এবং ডেটা পাঠায় না।
* এপিআই স্পেসিফিকেশন অনুযায়ী 'বাইট সিকোয়েন্স' গুরুত্বপূর্ণ। কী যদি বাইনারি হয়, তবে অনুগ্রহ করে হেক্স/Base64-এ লিখুন।
অপশন
ওএস বা কপি-পেস্টের কারণে নিউলাইন কোড আলাদা হলে ফলাফল পরিবর্তিত হবে।
যেহেতু এপিআই সিগনেচার 'সঠিক মিল' আশা করে, তাই সাধারণত যেমন আছে রাখা বাঞ্ছনীয়।
ব্যবহার
HMAC সিগনেচার তৈরির ৩টি মৌলিক ধাপ।
- 1 কী লিখুন (এপিআই স্পেসিফিকেশন বাইনারি হলে হেক্স / Base64 সিলেক্ট করুন)
- 2 মেসেজ লিখুন (সাইন করার স্ট্রিং / পেলোড)
- 3 আউটপুট ফরম্যাট (হেক্স / Base64) সিলেক্ট করুন এবং কপি করুন
HMAC 'বাইট সিকোয়েন্স'-এর ওপর ভিত্তি করে গণনা করা হয়, 'ক্যারেক্টার স্ট্রিং'-এর ওপর নয়। এমনকি দেখতে একই হলেও, ক্যারেক্টার এনকোডিং, নিউলাইন বা অতিরিক্ত হোয়াইটস্পেস আলাদা হলে ফলাফল ভিন্ন হবে (UTF-8 ধরা হয়)।
উদাহরণ (যাচাই করার জন্য টেস্ট ভেক্টর)
ইনপুট ফিল্ডগুলো পূরণ করতে 'উদাহরণ লোড করুন' ক্লিক করুন।
সাধারণ ভুলসমূহ
নিউলাইন হ্যান্ডলিং ভিন্ন হলে ফলাফল পরিবর্তিত হয়।
যেহেতু সিগনেচার সঠিক মিল আশা করে, হোয়াইটস্পেস সরালে অমিল হতে পারে।
Base64URL সাধারণত +→-, /→_ ব্যবহার করে এবং = বাদ দেয়। অনুগ্রহ করে স্পেসিফিকেশন চেক করুন।
উদাহরণ: 'deadbeef' কে 'স্ট্রিং' হিসেবে লেখা বনাম 'বাইট সিকোয়েন্স 0xDE 0xAD...' হিসেবে লেখা।
অতিরিক্ত তথ্য
একটি গোপন কী এবং একটি মেসেজ থেকে সিগনেচার তৈরির প্রক্রিয়া। একই কী ছাড়া তৃতীয় পক্ষ একই ফলাফল তৈরি করতে পারবে না।
SHA-256 হলো একটি 'হ্যাশ', HMAC হলো একটি 'কীড হ্যাশ (সিগনেচার)'।
এপিআই সিগনেচার, ওয়েবহুক যাচাইকরণ, অনুরোধ পরিবর্তনের সনাক্তকরণ ইত্যাদিতে ব্যবহৃত হয়।
FAQ
কী (Key) কি সংরক্ষণ করা হয়?
এটি সংরক্ষণ করা হয় না। এই সরঞ্জামটি ব্রাউজারের মধ্যে গণনা করে এবং কোনো সার্ভারে কী বা মেসেজ পাঠায় না। (※সতর্কতা হিসেবে, শেয়ার করা পিসিতে ইনপুট করার পর রিসেট করুন)
Base64 নাকি হেক্স?
উভয়ই ব্যবহৃত হয়। আপনি আউটপুট ফরম্যাট (হেক্স / Base64 / Base64URL) সিলেক্ট করতে পারেন। এপিআই স্পেসিফিকেশন অনুযায়ী বেছে নিন।
ক্যারেক্টার এনকোডিং?
UTF-8 ধরা হয়। টেক্সট ইনপুট গণনার জন্য UTF-8 হিসেবে বাইটে রূপান্তরিত হয়। বাইনারি হ্যান্ডেল করতে হেক্স / Base64 ইনপুট ব্যবহার করুন।
HMAC এবং SHA-256 হ্যাশের মধ্যে পার্থক্য কী?
SHA-256 হলো একটি 'হ্যাশ', HMAC হলো একটি 'কীড হ্যাশ (সিগনেচার)'। কী না মিললে একই ফলাফল তৈরি করা সম্ভব নয়।
আউটপুট মিলছে না
সাধারণ কারণগুলো হলো (১) কী হ্যান্ডলিং (টেক্সট বনাম বাইনারি), (২) নিউলাইন, (৩) হোয়াইটস্পেস, (৪) Base64URL। উপরের সাধারণ ভুলসমূহ ক্রমানুসারে চেক করুন।