Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में Base64 एन्कोड/डिकोड कैसे समझें?

TO_BASE64() और FROM_BASE64() फ़ंक्शन

MySQL 5.6+ में बिल्ट-इन Base64 एन्कोडिंग/डिकोडिंग के लिए दो फ़ंक्शन हैं:

  • TO_BASE64(str) - स्ट्रिंग को Base64 में एन्कोड करता है
  • FROM_BASE64(str) - Base64 स्ट्रिंग को डिकोड करता है

सिंटैक्स

-- एन्कोड
SELECT TO_BASE64('anyValue') AS EncodedValue;

-- डिकोड
SELECT FROM_BASE64('encodedValue') AS DecodedValue;

व्यावहारिक उदाहरण

केस 1: एन्कोड

mysql> SELECT TO_BASE64('Password') AS Base64EncodeValue;
+-------------------+
| Base64EncodeValue |
+-------------------+
| UGFzc3dvcmQ=      |
+-------------------+
1 row in set (0.00 sec)

केस 2: डिकोड

mysql> SELECT FROM_BASE64('UGFzc3dvcmQ=') AS Base64DecodeValue;
+-------------------+
| Base64DecodeValue |
+-------------------+
| Password          |
+-------------------+
1 row in set (0.00 sec)

टेबल कॉलम पर उपयोग

1. टेबल बनाएं

mysql> CREATE TABLE Base64Demo (
    -> ProductId VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.54 sec)

mysql> INSERT INTO Base64Demo VALUES('321Product'), ('Product456'), ('654Product');

2. सभी एन्कोड करें

mysql> SELECT TO_BASE64(ProductId) AS Base64Encode FROM Base64Demo;
+------------------+
| Base64Encode     |
+------------------+
| MzIxUHJvZHVjdA== |
| UHJvZHVjdDQ1Ng== |
| NjU0UHJvZHVjdA== |
+------------------+
3 rows in set (0.00 sec)

3. क्रॉस-चेक: पहले मान को डिकोड करें

mysql> SELECT FROM_BASE64('MzIxUHJvZHVjdA==') AS DecodeValue;
+-------------+
| DecodeValue |
+-------------+
| 321Product  |
+-------------+
1 row in set (0.00 sec)

महत्वपूर्ण विशेषताएं

  • उलटा: FROM_BASE64(TO_BASE64(x)) = x (बाइनरी-सेफ)
  • NULL हैंडलिंग: इनपुट NULL होने पर NULL लौटाता है
  • कैरेक्टर सेट: कनेक्शन कैरेक्टर सेट के अनुसार बाइट्स एन्कोड करता है
  • आकार: आउटपुट ~33% बड़ा होता है (3 बाइट्स → 4 कैरेक्टर)

उपयोग केस

  • बाइनरी डेटा को टेक्स्ट में स्टोर करना (JSON, XML, URL)
  • सरल ऑबफस्केशन (एन्क्रिप्शन नहीं!)
  • डेटा ट्रांसफर (ईमेल अटैचमेंट, API)
  • कैश कुंजी जनरेशन

सुरक्षा नोट

Base64 एन्क्रिप्शन नहीं है।** यह केवल एन्कोडिंग है - कोई कुंजी नहीं, कोई सुरक्षा नहीं। संवेदनशील डेटा के लिए AES_ENCRYPT() / AES_DECRYPT() या एप्लिकेशन-लेयर एन्क्रिप्शन उपयोग करें।

  1. - MySQL में SOUNDEX() फ़ंक्शन का उपयोग कैसे करें?

    MySQL में SOUNDEX() फ़ंक्शन समान उच्चारण वाले शब्दों को खोजने के लिए साउंडेक्स कोड लौटाता है। सिंटैक्स SELECT * FROM yourTableName WHERE SOUNDEX(yourValue) = SOUNDEX(yourColumnName); टेबल निर्माण mysql> CREATE TABLE DemoTable ( Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName VARC

  1. - MySQL में पंक्ति कैसे हटाएं? DELETE स्टेटमेंट

    MySQL में पंक्ति हटाने के लिए DELETE का उपयोग करें। टेबल बनाएं mysql> create table DemoTable ( -> CustomerId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> CustomerName VARCHAR(100), -> CustomerAge INT -> ); Query OK, 0 rows affected (1.30 sec) रिकॉर्ड्स डालें mysql>

  1. - MySQL क्वेरी दर्ज करना

    कंसोल पर क्वेरी दर्ज करने से पहले, यह सुनिश्चित करना महत्वपूर्ण है कि उपयोगकर्ता सर्वर से जुड़ा हुआ है। नीचे दी गई क्वेरी सर्वर के संस्करण संख्या और वर्तमान तारीख देगी। mysql> SELECT VERSION(), CURRENT_DATE; नोट: फंक्शन VERSION() और CURRENT_DATE केस-इनसेंसिटिव हैं। इसका मतलब version(), Version(