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

MySQL ডেটাবেসে ইউজারনেম এবং পাসওয়ার্ড নিরাপদে সংরক্ষণ করা

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-এ পাসওয়ার্ড সংরক্ষণ করবেন না।

  1. মাইএসকিউএল ডাটাবেস ব্যাকআপ করার পদ্ধতি

  2. MySQL-এ বর্তমান নির্বাচিত ডেটাবেস কীভাবে জানবেন?

  3. MySQL ডেটাবেস ফাইলগুলো কোথায় স্টোর থাকে? (@@datadir)

  4. JDBC ব্যবহার করে MySQL ডেটাবেসে ফাইল ইনসার্ট/স্টোর কীভাবে করবেন?