MySQL ডেটাবেসে ইউজারনেম এবং পাসওয়ার্ড নিরাপদে সংরক্ষণ করতে MD5() ফাংশন ব্যবহার করা যায়।
উদাহরণ দেখি। প্রথমে একটি টেবিল তৈরি করব। CREATE কমান্ড ব্যবহার করে টেবিল তৈরি করা হয়।
mysql> create table UserNameAndPasswordDemo -> ( -> U_Id int(10) unsigned NOT NULL AUTO_INCREMENT, -> UserId varchar(255) DEFAULT NULL, -> UserPassword varchar(255) DEFAULT NULL, -> primary key(U_Id), -> UNIQUE KEY `UserId` (`UserId`) -> ); Query OK, 0 rows affected (0.61 sec)
MD5() সাহায্যে পাসওয়ার্ড নিরাপদে সংরক্ষণ করে রেকর্ড ইনসার্ট:
mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES ('John@gg.com', MD5('john123'));
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO UserNameAndPasswordDemo(UserId, UserPassword) VALUES (MD5('Carol@gg.com'), MD5('123Carol'));
Query OK, 1 row affected (0.14 sec)
SELECT স্টেটমেন্ট ব্যবহার করে রেকর্ড দেখুন (MD5 পাসওয়ার্ডসহ):
mysql> SELECT *from UserNameAndPasswordDemo where UserId='John@gg.com';
আউটপুট:
+------+-------------+----------------------------------+ | U_Id | UserId | UserPassword | +------+-------------+----------------------------------+ | 1 | John@gg.com | 6e0b7076126a29d5dfcbd54835387b7b | +------+-------------+----------------------------------+ 1 row in set (0.00 sec)
সকল রেকর্ড দেখুন:
mysql> SELECT *from UserNameAndPasswordDemo;
আউটপুট:
+------+----------------------------------+----------------------------------+ | U_Id | UserId | UserPassword | +------+----------------------------------+----------------------------------+ | 1 | John@gg.com | 6e0b7076126a29d5dfcbd54835387b7b | | 2 | 5f565a3d794f85e5db4f3bb7b5811a25 | f1d2fb85f7d6ce7428b9b3fd569be42b | +------+----------------------------------+----------------------------------+ 2 rows in set (0.00 sec)
গুরুত্বপূর্ণ সতর্কতা: MD5 এখন নিরাপদ নয় (রেইনবো টেবিল আক্রমণ, কলিশন)। বর্তমানে পাসওয়ার্ড হ্যাশিংয়ের জন্য bcrypt (PHP-তে password_hash()), Argon2 বা MySQL 8.0-এর SHA2() + সল্ট ব্যবহার করা উচিত। কখনোই প্লেইন টেক্সট বা MD5/SHA1-এ পাসওয়ার্ড সংরক্ষণ করবেন না।