একটি Bcrypt হ্যাশ একটি BINARY(40)
কলামে সংরক্ষণ করা যেতে পারে ।
BINARY(60)
অন্যান্য উত্তরগুলির হিসাবে, সবচেয়ে সহজ এবং সবচেয়ে প্রাকৃতিক পছন্দ, তবে আপনি যদি স্টোরেজ দক্ষতা সর্বাধিক করতে চান তবে আপনি হ্যাশটিকে নিরবচ্ছিন্নভাবে ডিকনস্ট্রাক্ট করে 20 বাইট সংরক্ষণ করতে পারবেন। আমি এটি আরও গভীরভাবে গিটিহাবের নথিভুক্ত করেছি: https://github.com/ademarre/binary-mcf
বিক্রিপ্ট হ্যাশগুলি এমন একটি কাঠামো অনুসরণ করে যা মডিউলার ক্রিপ্ট ফর্ম্যাট (এমসিএফ) হিসাবে পরিচিত। বাইনারি এমসিএফ (বিএমসিএফ) এই পাঠ্য হ্যাশ উপস্থাপনাগুলি আরও কমপ্যাক্ট বাইনারি কাঠামোতে ডিকোড করে। বিক্রিপ্টের ক্ষেত্রে, ফলাফল বাইনারি হ্যাশ 40 বাইট।
ব্রম্ব্রিট এমসিএফ হ্যাশের চারটি উপাদান ব্যাখ্যা করার জন্য গম্বো দুর্দান্ত কাজ করেছে:
$<id>$<cost>$<salt><digest>
বিএমসিএফের ডিকোডিংটি এরকম হয়:
$<id>$
3 বিট উপস্থাপন করা যেতে পারে।
<cost>$
, 04-31, 5 বিট উপস্থাপন করা যেতে পারে। এগুলি 1 বাইটের জন্য একসাথে রাখুন।
- 22-বর্ণের লবণের 128 বিটের একটি (অ-মানক) বেস-64৪ উপস্থাপনা। বেস -৪৪ ডিকোডিং থেকে 16 বাইট পাওয়া যায়।
- 31-অক্ষরের হ্যাশ ডাইজেস্টটি বেস -64 ডিকোড করে 23 বাইটে হতে পারে।
- এটি 40 টি বাইটের জন্য একসাথে রাখুন:
1 + 16 + 23
আপনি উপরের লিঙ্কটিতে আরও পড়তে পারেন, বা আমার পিএইচপি বাস্তবায়ন পরীক্ষা করতে পারেন, গিটহাবেও।