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

MySQL-এ MD5() ফাংশন ব্যবহার করে পাসওয়ার্ডের হ্যাশ ভ্যালু আপডেট করা


টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> create table DemoTable1887 ( Password text, HashPassword text ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1887(Password) values('John@9089'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1887(Password) values('90987_Carol'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1887(Password) values('656464_David_4343'); Query OK, 1 row affected (0.00 sec)

আপডেটের আগে (HashPassword NULL)

mysql> select * from DemoTable1887;
+-------------------+--------------+
| Password          | HashPassword |
+-------------------+--------------+
| John@9089         | NULL         |
| 90987_Carol       | NULL         |
| 656464_David_4343 | NULL         |
+-------------------+--------------+
3 rows in set (0.00 sec)

MD5 হ্যাশ দিয়ে আপডেট

mysql> update DemoTable1887 set HashPassword=md5(Password); Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0

আপডেটের পর

mysql> select * from DemoTable1887;
+-------------------+----------------------------------+
| Password          | HashPassword                     |
+-------------------+----------------------------------+
| John@9089         | 7f92a7e09ab1a0cd3f36ec164f035c9a |
| 90987_Carol       | 1578fa8c47f0e53a898c8ada5c0111b4 |
| 656464_David_4343 | e5ec2bd2cb55b2252be7ca9eb546659e |
+-------------------+--------------+
3 rows in set (0.00 sec)

সুরক্ষা নোট: MD5 ক্রিপ্টোগ্রাফিক্যালি ভাঙা হয়ে গেছে এবং পাসওয়ার্ড হ্যাশিংয়ের জন্য উপযুক্ত নয়। বর্তমানে bcrypt, Argon2, PBKDF2 বা MySQL-এর নেটিভ SHA2(password, 256) ব্যবহার করা উচিত। সল্ট (salt) যোগ করাও অবশ্যক।

  1. Java MySQL ব্যবহার করে MySQL টেবিল আপডেট করা

  2. MySQL-এ একসাথে দুটি কলাম আপডেট করা (সিঙ্গল কোয়েরি)

  3. MySQL-এ GROUP BY ব্যবহার করে ফিল্ড আপডেট করা

  4. MySQL-এ GROUP BY HAVING COUNT ব্যবহার করে ইউনিক লাস্ট নেম वाले ইউজার খুঁজে বের করা