Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

डेटाबेस में MD5 को स्टोर करते समय BINARY(16) और CHAR(32) के बीच अंतर

वर्तमान में आप BINARY(16) . का उपयोग करते समय चेकसम का आधा हिस्सा खो रहे हैं . जब आप MD5 चेकसम को BINARY(16) . में स्टोर करते हैं आपको इसे बाइनरी डेटा के रूप में स्टोर करना चाहिए, नहीं हेक्साडेसिमल में एन्कोड किया गया। वह है:

INSERT INTO test (md5_binary) VALUES(UNHEX(md5("one!")));

आप हेक्स फ़ंक्शन का उपयोग इसे फिर से हेक्स में एन्कोड करने के लिए कर सकते हैं यदि आप आंख-बॉल करना चाहते हैं तो इसकी तुलना किसी अन्य चेकसम से करें:

SELECT HEX(md5_binary) FROM test;

हेक्साडेसिमल टेक्स्ट के बजाय चेकसम को स्टोर करने के लिए बाइनरी का उपयोग करने का लाभ यह है कि आधे स्टोरेज की जरूरत होती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP 7 को MySQLi नहीं मिल रहा है

  2. MySQL सभी बाहरी सीमा की गणना करता है

  3. SHOW TABLES क्वेरी को कैसे सीमित करें

  4. AUTO_INCREMENT और LAST_INSERT_ID

  5. mysql और php . में एईएस एन्क्रिप्शन