কম্পিউটার টিউটোরিয়াল

MySQL-এ হ্যাশড পাসওয়ার্ড ফিল্ডের জন্য কোন ডেটা টাইপ ব্যবহার করবেন?

হ্যাশিং অ্যালগরিদম অনুযায়ী ডেটা টাইপ নির্বাচন

হ্যাশড পাসওয়ার্ডের দৈর্ঘ্য হ্যাশিং অ্যালগরিদমের ওপর নির্ভর করে। হেক্সাডেসিমাল আউটপুট হাফ করতে UNHEX() ব্যবহার করে BINARY টাইপে সংরক্ষণ করা যায়।

সাধারণ অ্যালগরিদম ও ডেটা টাইপ

  • MD5: ১২৮ বিট = ৩২ হেক্স ক্যারেক্টার → CHAR(32) বা BINARY(16)
  • SHA-1: ১৬০ বিট = ৪০ হেক্স ক্যারেক্টার → CHAR(40) বা BINARY(20)
  • SHA-256: ২৫৬ বিট = ৬৪ হেক্স ক্যারেক্টার → CHAR(64) বা BINARY(32)

MD5 উদাহরণ

mysql> SELECT MD5('This is a hashed password');
+----------------------------------+
| MD5('This is a hashed password') |
+----------------------------------+
| e9d4c42db40abbb4724a0047f7e91e67 |
+----------------------------------+
mysql> SELECT CHARACTER_LENGTH(MD5('This is a hashed password'));
+----------------------------------------------------+
| CHARACTER_LENGTH(MD5('This is a hashed password')) |
+----------------------------------------------------+
| 32                                                 |
+----------------------------------------------------+

SHA-1 উদাহরণ

mysql> SELECT SHA1('This is a hashed password');
+------------------------------------------+
| SHA1('This is a hashed password')        |
+------------------------------------------+
| 4e2e1a39dba84a0b5a91043bb0e4dbef23970837 |
+------------------------------------------+
mysql> SELECT CHARACTER_LENGTH(SHA1('This is a hashed password'));
+-----------------------------------------------------+
| CHARACTER_LENGTH(SHA1('This is a hashed password')) |
+-----------------------------------------------------+
| 40                                                  |
+-----------------------------------------------------+

সিকিউরিটি টিপস: আধুনিক অ্যাপ্লিকেশনে MD5/SHA-1 এড়িয়ে bcrypt, scrypt, বা Argon2 ব্যবহার করুন। MySQL 8.0-এ SHA2(str, 256) বিল্ট-ইন।

  1. MySQL-এ লম্বা দশমিক সংখ্যা সংরক্ষণের জন্য DECIMAL(21,20) ডেটা টাইপ

  2. MySQL-এ REGEXP_INSTR ব্যবহার করে সার্চ কোয়েরি করা

  3. C-এ FILE ডেটা টাইপ কী? (Opaque Data Type)

  4. C#-তে কারেন্সি (মুদ্রা) জন্য সেরা ডেটা টাইপ কী?