আমি এই একই ভুল করেছি। ডিফল্ট পাসওয়ার্ড 50 দীর্ঘ ছিল তাই আমি 50 টি দীর্ঘ এলোমেলো স্ট্রিং উত্পন্ন করতে পাওয়ারশেল ব্যবহার করেছি এবং এর সাথে পুরানো SECRET_KEY প্রতিস্থাপন করেছি। আমি লগ ইন ছিলাম এবং SECRET_KEY প্রতিস্থাপনের পরে আমার পূর্ববর্তী অধিবেশনটি বাতিল করে দেওয়া হয়েছিল।
পাওয়ারশেল ( উত্স ) সহ:
# Load the .net System.Web namespace which has the GeneratePassword function
[Reflection.Assembly]::LoadWithPartialName("System.Web")
# GeneratePassword(int length, int numberOfNonAlphanumericCharacters)
[System.Web.Security.Membership]::GeneratePassword(50,5)
বাশ ( উত্স ) সহ:
# tr includes ABCabc123 and the characters from OWASP's "Password special characters list"
cat /dev/urandom | tr -dc 'A-Za-z0-9!"#$%&\''()*+,-./:;<=>?@[\]^_`{|}~' | head -c 100 ; echo
এই মুহুর্তে আমি ভেবেছিলাম কেন বৃহত্তর কীটি চেষ্টা করবেন না, তাই আমি এটি 100 এবং 1000 দীর্ঘ কী দিয়ে চেষ্টা করেছি। দুজনেই কাজ করেছেন। যদি আমি উত্স কোডটি বুঝতে পারি তবে স্বাক্ষরকারী ফাংশনটি দিয়ে ফিরে আসা অবজেক্টটি বেস 64 এ একটি এইচএমএক হ্যাশ। এইচএমএসি গোপন কীটির প্রয়োজনীয় দৈর্ঘ্যের জন্য আরএফসি 2104 এর কথা বলতে হবে।
অ্যাপ্লিকেশনগুলি বি বাইটের চেয়ে দীর্ঘতর কীগুলি ব্যবহার করে প্রথমে এইচ ব্যবহার করে কীটি হ্যাশ করবে এবং তারপরে ফলস্বরত এল বাইট স্ট্রিংটিকে এইচএমএসি-র আসল কী হিসাবে ব্যবহার করবে।
এইচএমএএসি-র কীটি যে কোনও দৈর্ঘ্যের হতে পারে (প্রথমে এইচ ব্যবহার করে বি বাইটের চেয়ে বেশি দীর্ঘ কীগুলি)। যাইহোক, এল বাইটের চেয়ে কম দৃ strongly়ভাবে নিরুৎসাহিত করা হবে কারণ এটি ফাংশনের সুরক্ষা শক্তি হ্রাস করবে। এল বাইটের চেয়ে দীর্ঘ চাবিগুলি গ্রহণযোগ্য তবে অতিরিক্ত দৈর্ঘ্যের ফলে কার্যকারিতা শক্তি বাড়বে না। (যদি চাবির এলোমেলোতা দুর্বল হিসাবে বিবেচনা করা হয় তবে দীর্ঘতর চাবি যুক্তিযুক্ত হতে পারে))
সাধারণ স্পোকে অনুবাদ করতে, গোপন কীটির আকারের আউটপুট হিসাবে একই আকার হওয়া দরকার। কীটিও বিটের মধ্যে থাকা দরকার। বেস 64 এর প্রতিটি অঙ্ক 6 টি বিট উপস্থাপন করে। সুতরাং আপনার যদি 50 টি অক্ষরের পাসওয়ার্ড থাকে তবে আপনার কাছে 50 x 6 = 300 বিট গোপন কী থাকবে। আপনি যদি SHA256 ব্যবহার করে থাকেন তবে আপনার প্রয়োজন 256 বিট কী ( শ্যা 256 সংজ্ঞা অনুসারে 256 বিট ব্যবহার করে )। সুতরাং SHA256 এর চেয়ে বড় হ্যাশিং অ্যালগরিদম ব্যবহার করার পরিকল্পনা না করা হলে একটি 50 টি দীর্ঘ পাসওয়ার্ড কাজ করা উচিত।
তবে যেহেতু কীটিতে কোনও অতিরিক্ত বিট হ্যাশ হচ্ছে, এর আকারটি ক্রমশ কর্মক্ষমতা হ্রাস পাবে না। তবে এটি আপনাকে গ্যারান্টি দেয় যে বৃহত্তর হ্যাশ ফাংশনগুলির জন্য আপনার কাছে পর্যাপ্ত পরিমাণে বিট রয়েছে। SHA-512 100 টি দীর্ঘ SECRET_KEY ( 50 x 6 = 600 বিট> 512 বিট ) দ্বারা আচ্ছাদিত হবে ।
data decode will break
এবং আপনি কিছু কোড (জ্যাঙ্গো বা উদাহরণস্বরূপ প্রকল্পে) ভঙ্গ করবেন বলে চিহ্নিত করতে পারেন? সম্পাদনা: এখনও জঙ্গো ১.৪ ব্যবহার করছেন - তা কি?