ছায়া পাসওয়ার্ড ফাইলে কীভাবে একটি পাসওয়ার্ড হ্যাশ এনকোড করা হয়?


11

আমি লিনাক্স পাসওয়ার্ড সুরক্ষা (দরকারী কোনও কিছুর চেয়ে কৌতূহল) সম্পর্কে শিখছি এবং আমি বুঝতে পারি যে আসল পাসওয়ার্ডটি ছায়া পাসওয়ার্ড ফাইলে হ্যাশ করে সংরক্ষণ করা হয়েছে। আমি যে বিষয়ে নিশ্চিত নই এবং আমার সংক্ষিপ্ত গুগলিংয়ের সন্ধান করতে পারিনি, হ্যাশ মানটি (এবং লবণের মান) এনকোডিংয়ের জন্য এনকোডিংটি ব্যবহৃত হয়। এটি স্পষ্টতই হেক্স নয় এবং এটি স্পষ্টতই পাঠ্যটি বাদ দিয়ে পাঠ্য :। এখানে যে কেউ আমাকে বলতে পারবেন যে এনকোডিংটি কী?

সম্পাদনা করুন: আমি হ্যাশিং (MD5, SHA-X), লবণ এবং হ্যাশিং স্পেসিফায়ার বুঝতে পেরেছি। আমি যা খুঁজছি তা হ্যাশ ফলাফলগুলি (একটি বাইট অ্যারে (বাইট [])) রূপে রূপান্তর করার পদ্ধতিটি আমি ফাইলটিতে দেখতে পাচ্ছি এমন অক্ষরগুলির ক্রমে, যেমন: এনকোডিং।


আপনার প্রশ্নটি এই প্রশ্নের
ব্রোম

উত্সটি ব্যবহার করুন: Sourceware.org/git/?p=glibc.git
জেমস

উত্তর:


11

এমডি 5 ক্রিপ্ট () এর ক্ষেত্রে, লবণটি [a-zA-Z0-9./] থেকে 8 টি অক্ষরের একটি এলোমেলো স্ট্রিং।

এর পরে লবণ এবং পাসওয়ার্ড একসাথে হ্যাশ করা হয়, একটি শক্তিশালীকরণ কার্যের মধ্য দিয়ে যায় এবং তারপরে বেস 64 এ ভেরিয়েন্ট ব্যবহার করে এনকোড করা হয়:

  • MD5 রাজ্যটি (128 বিট) sh টি গ্রুপে বিভক্ত হয়ে বিভক্ত হয়, যার প্রত্যেকটিতে 3 বাইট থাকে (চূড়ান্ত গোষ্ঠীতে শূন্য-প্যাডিংয়ের 2 বাইট অন্তর্ভুক্ত থাকে)
  • 3 টি বাইটের প্রতিটি গ্রুপকে প্রতিটি 6 টি বিটের 4 টি ব্লকে ভাগ করা হয়
  • অবশেষে, প্রতিটি 6-বিট গোষ্ঠী একটি পরিসরে [a-zA-Z0-9./] পরিসরে ম্যাপ করা হয়

8

আপনি যদি কেবল পাসওয়ার্ডটিকে কীভাবে এনকোড করা হয় তা জানতে চান, ক্রিপ্ট () একটি বিশেষ বেস 64-জাতীয় এনকোডিং ব্যবহার করে।

বেস 64 এনকোডিংটি নিম্নলিখিত চারসেটটি ব্যবহার করে: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + /

যখন ক্রিপ্ট () এনকোডিংটি এই চরসেটটি ব্যবহার করে: .0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

এছাড়াও, বেস 64 এর বিপরীতে কোনও "=" প্যাডিং নেই।

অন্যদিকে, এমডি 5, এসএএএ-এক্স ইত্যাদির ক্রিপ্ট () বাস্তবায়ন কেবল একটি এলোমেলো লবণ উৎপন্ন করার চেয়ে বেশি করে, হ্যাশ ফাংশন চালায় এবং প্রাক্তন এনকোডিং ব্যবহার করে এটিকে এনকোড করে।

আমি এই দুটি দুর্দান্ত পোস্ট পড়ার পরামর্শ দিচ্ছি: "সম্পূর্ণ এমডি 5 এর সাথে সম্পর্কিত এমডি 5-ক্রিপ্টের সাথে পাসওয়ার্ড হ্যাশিং" এবং "সম্পূর্ণ এস এম এ 512-ক্রিপ্ট বনাম এমডি 5-ক্রিপ্টের বাস্তবায়ন" , আরও সম্পূর্ণ বিবরণের জন্য।


4

Between 'র মধ্যে হ্যাশের প্রথম অংশটি ইঙ্গিত করে যে কী অ্যালগরিদম ব্যবহৃত হচ্ছে।

বিভিন্ন মানগুলি কী বোঝায় তার তালিকার জন্য http://en.wikedia.org/wiki/Crypt_%28Unix%29 দেখুন ।


2

আপনি ব্যবহৃত অ্যালগরিদম খুঁজছেন?

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

ব্যবহৃত হ্যাশ অ্যালগরিদমের নির্দিষ্ট ধরণের ব্যবহারটি পাসওয়ার্ডের শুরুতে $ ডিজিট $ হিসাবে নির্দিষ্ট করা হয় $ উদাহরণস্বরূপ, $ 1 $ হল MD5।

আপনি উইকিপিডিয়া থেকে আরও গভীরতার বিবরণ পেতে পারেন ( ক্রিপ্ট_ (ইউনিক্সের পৃষ্ঠাটি দেখুন ) বা 'ক্রিপ্ট ইউনিক্স' বা 'ক্রিপ্ট লিনাক্স' এর জন্য গুগল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.