UUID টাইম এক্সট্র্যাক্টর
UUID v1, v6 এবং v7 আইডেন্টিফায়ার থেকে timestamp বের করুন এবং ডিকোড করুন
ইনপুট
আউটপুট
ফলাফল
কোন মান নেই
রিডমি
UUID কীভাবে টাইমস্ট্যাম্প সংরক্ষণ করে?
বেশ কয়েকটি UUID সংস্করণ সরাসরি তাদের কাঠামোর মধ্যে একটি টাইমস্ট্যাম্প এম্বেড করে। RFC 4122-এ প্রবর্তিত UUID v1, অক্টোবর 15, 1582 থেকে 100-ন্যানোসেকেন্ড বিরতি প্রতিনিধিত্বকারী একটি 60-বিট গ্রেগোরিয়ান টাইমস্ট্যাম্প এনকোড করে। UUID v6 আরও ভালো সর্টযোগ্যতার জন্য একই টাইমস্ট্যাম্প ফিল্ডগুলি পুনর্বিন্যাস করে, এবং RFC 9562-এ সংজ্ঞায়িত UUID v7, মিলিসেকেন্ডে একটি 48-বিট Unix epoch টাইমস্ট্যাম্প সংরক্ষণ করে। এই এম্বেড করা টাইমস্ট্যাম্পগুলি একটি UUID তৈরির সঠিক মুহূর্ত পুনরুদ্ধার করা সম্ভব করে — যা ডিবাগিং, অডিটিং এবং ফরেনসিক বিশ্লেষণের জন্য উপযোগী।
প্রতিটি UUID সময়ের তথ্য বহন করে না। সংস্করণ 3, 4 এবং 5 র্যান্ডম ডেটা বা নেমস্পেস হ্যাশ থেকে তৈরি, তাই এগুলিতে কোনো পুনরুদ্ধারযোগ্য টাইমস্ট্যাম্প নেই। সংস্করণ 2 (DCE Security) একটি টাইমস্ট্যাম্প অন্তর্ভুক্ত করে কিন্তু বাস্তবে খুব কমই ব্যবহৃত হয়।
টুলের বিবরণ
এই টুলটি টাইম-ভিত্তিক UUID-এ এম্বেড করা টাইমস্ট্যাম্প বের করে এবং ডিকোড করে। যেকোনো UUID পেস্ট করুন এবং তাৎক্ষণিকভাবে একাধিক ফরম্যাটে এনকোড করা তারিখ ও সময় দেখুন: ISO 8601, UTC, স্থানীয় সময়, এবং সেকেন্ড ও মিলিসেকেন্ড উভয়ে Unix টাইমস্ট্যাম্প। টুলটি স্বয়ংক্রিয়ভাবে UUID সংস্করণ শনাক্ত করে এবং সঠিক ডিকোডিং অ্যালগরিদম প্রয়োগ করে।
উদাহরণ
UUID v1 ইনপুট:
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → এপ্রিল 7, 1998
UUID v7 ইনপুট:
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 → মে 3, 2024
UUID v4 ইনপুট (কোনো টাইমস্ট্যাম্প নেই):
550e8400-e29b-41d4-a716-446655440000 → "এই UUID সংস্করণে কোনো টাইমস্ট্যাম্প নেই"
বৈশিষ্ট্যসমূহ
- UUID v1 (গ্রেগোরিয়ান টাইমস্ট্যাম্প), v6 (পুনর্বিন্যস্ত গ্রেগোরিয়ান), এবং v7 (Unix epoch মিলিসেকেন্ড) সমর্থন করে
- ISO 8601, UTC, স্থানীয় সময় এবং Unix টাইমস্ট্যাম্প ফরম্যাটে ফলাফল প্রদর্শন করে
- স্বয়ংক্রিয়ভাবে UUID সংস্করণ শনাক্ত করে এবং সঠিক ডিকোডিং পদ্ধতি নির্বাচন করে
- বের করার চেষ্টা করার আগে UUID ফরম্যাট যাচাই করে
- যেসব UUID সংস্করণে টাইমস্ট্যাম্প নেই সেগুলির জন্য স্পষ্ট বার্তা প্রদর্শন করে
এটি কীভাবে কাজ করে
প্রতিটি টাইম-ভিত্তিক UUID সংস্করণ তার টাইমস্ট্যাম্প ভিন্নভাবে সংরক্ষণ করে:
- UUID v1 একটি 60-বিট গ্রেগোরিয়ান টাইমস্ট্যাম্পকে তিনটি ফিল্ডে বিভক্ত করে:
time_low(বিট 0–31),time_mid(বিট 32–47), এবংtime_hi(বিট 48–59)। টাইমস্ট্যাম্পটি অক্টোবর 15, 1582 থেকে 100-ন্যানোসেকেন্ড বিরতি গণনা করে। - UUID v6 v1 টাইমস্ট্যাম্প ফিল্ডগুলি পুনর্বিন্যাস করে যাতে সবচেয়ে গুরুত্বপূর্ণ বিটগুলি প্রথমে আসে, একই গ্রেগোরিয়ান epoch ব্যবহার করে তৈরির সময় অনুযায়ী UUID স্বাভাবিকভাবে সর্টযোগ্য করে তোলে।
- UUID v7 একটি সহজ পদ্ধতি অনুসরণ করে: প্রথম 48 বিট মিলিসেকেন্ডে একটি আদর্শ Unix টাইমস্ট্যাম্প ধারণ করে, যা বের করা সহজ এবং আধুনিক সিস্টেমের সাথে সামঞ্জস্যপূর্ণ।
ব্যবহারের ক্ষেত্রসমূহ
- বিতরণকৃত সিস্টেম ডিবাগিং — একটি রেকর্ড বা ইভেন্টে নির্ধারিত UUID ডিকোড করে ঠিক কখন এটি তৈরি হয়েছিল তা নির্ধারণ করুন
- অডিট ও ফরেনসিক — যেসব ডেটাবেসে প্রাথমিক কী হিসেবে টাইম-ভিত্তিক UUID ব্যবহার করা হয় সেগুলিতে তৈরির টাইমস্ট্যাম্প যাচাই করুন
- মাইগ্রেশন পরিকল্পনা — সিস্টেমের মধ্যে মাইগ্রেট করার আগে ডেটার বিতরণ ও বয়স বোঝার জন্য UUID টাইমস্ট্যাম্প বিশ্লেষণ করুন