সাহায্য করুন! আমি সবেমাত্র স্ট্যাক এক্সচেঞ্জে লগইন করেছি, তবে আমার পাসওয়ার্ডটি কী ভুলে গিয়েছি! আমি লগ অফ করার আগে এটিকে কাজ করার জন্য আমার একটি উপায় প্রয়োজন।
ভাগ্যক্রমে, আমি একটি দুর্দান্ত হ্যাকার। আমি কেবল আমার পাসওয়ার্ডের হ্যাশটিই খুঁজে পাইনি, তবে স্ট্যাক এক্সচেঞ্জের হ্যাশিং অ্যালগরিদমও পেয়েছি! এটি প্রতিটি অঙ্কের ASCII মানটি সেই অঙ্কের জায়গার দ্বারা গুণিত করে, তারপরে সমস্ত মানগুলি একসাথে যোগ করে। উদাহরণ স্বরূপ:
"135" -> 1*49 + 2*51 + 3*53 = 310
আমার মনে আছে যে আমার পাসওয়ার্ডটি 3 ডিজিট দীর্ঘ, এবং প্রতিটি চরিত্র 0 এবং 5 সমেত অন্তর্ভুক্তের একটি সংখ্যা (যেমন এটি রেজেক্সের সাথে মিলবে ^[0-5]{3}$
:) তবে এটি এখনও অনুমান করার অনেক সম্ভাবনা। আমার এমন একটি প্রোগ্রাম দরকার যা একটি হ্যাশকে আবার সম্ভাব্য পাসওয়ার্ডগুলিতে রূপান্তর করতে পারে তবে বিশেষজ্ঞ হ্যাকার হওয়া সত্ত্বেও আমি আমার জীবন বাঁচানোর জন্য কোড করতে পারি না! আমি এই পরীক্ষাগুলি হাতে হাতে লিখতে সক্ষম হয়েছি যদিও:
input -> output
288 -> 000 // lowest possible hash
290 -> 200, 010
298 -> 022, 050, 103, 131, 212, 240, 321, 402, 430, 511
318 -> 555 // highest possible hash
আপনারা কেউ কি আমার জন্য এমন একটি প্রোগ্রাম লিখতে পারেন যা একটি হ্যাশ নেবে এবং আমি যে সমস্ত সম্ভাব্য পাসওয়ার্ড ব্যবহার করতে পারি তা মুদ্রণ করবে?
ইনপুট সর্বদা কমপক্ষে একটি বৈধ পাসওয়ার্ড তৈরি করতে সক্ষম হবে। যে কোনও আউটপুট ফর্ম্যাট অনুমোদিত, যতক্ষণ না স্ট্রিংগুলি স্পষ্টভাবে চিহ্নিত করা যায়। আমি শীর্ষস্থানীয় শূন্যগুলির বিষয়েও উদ্বিগ্ন নই, সুতরাং যদি কোনও সম্ভাব্য পাসওয়ার্ড হয় তবে 001
আমি গ্রহণ করব 01
বা করব 1
।
স্ট্যাক এক্সচেঞ্জের বাইরে থাকা থেকে আমাকে সহায়তা করুন!
স্কোরিং
এটি কোড-গল্ফ , তাই প্রতিটি ভাষার সংক্ষিপ্ত উত্তরটি জিতে যায়!
"135" -> 1*49 + 2*51 + 3*53 = 310
54
পাই তবে আমি সামনে শূন্যগুলি নিয়ে কাজ করতে পারি।
1
এর ASCII মান49
পরিবর্তে48
?