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

डेटाबेस में स्टोर करने से पहले पासवर्ड एन्क्रिप्ट करें?

जबकि नीचे दिया गया उत्तर तकनीकी रूप से अभी भी सही है, PHP के पास हैशिंग एल्गोरिदम का उपयोग करने के संबंध में नई सिफारिशें हैं। उनकी अनुशंसा , php> =5.5.0 के अनुसार, password_hash और password_verify हैश पासवर्ड को हैश और सत्यापित करने के लिए कार्य करता है। एक अतिरिक्त लाभ के रूप में, इन कार्यों में स्वचालित रूप से लौटाए गए हैश के हिस्से के रूप में एक व्यक्तिगत नमक शामिल होता है, इसलिए आपको इसके बारे में स्पष्ट रूप से चिंता करने की आवश्यकता नहीं है।

यदि आप वास्तविक पासवर्ड के मान (डेटाबेस एन्क्रिप्टेड मान से) को पुनः प्राप्त करने की परवाह नहीं करते हैं, तो आप उस पर एक-तरफ़ा हैश एल्गोरिथम चला सकते हैं (जैसे sha1)। यह फ़ंक्शन एक विशिष्ट लंबाई स्ट्रिंग (हैश) लौटाएगा जिसका उपयोग मूल स्ट्रिंग (सैद्धांतिक रूप से) को खोजने के लिए नहीं किया जा सकता है। यह संभव है कि दो अलग-अलग तार एक ही हैश (टकराव कहा जाता है) बना सकते हैं, लेकिन यह पासवर्ड के साथ कोई समस्या नहीं होनी चाहिए।
उदाहरण: $pass = sha1($_REQUEST['pass']);

एक बात, इसे थोड़ा और सुरक्षित बनाने के लिए हैश में नमक डालना और हैश फ़ंक्शन को फिर से चलाना है। इससे दुर्भावनापूर्ण रूप से पासवर्ड हैश उत्पन्न करना अधिक कठिन हो जाता है क्योंकि नमक मान केवल सर्वर-साइड नियंत्रित किया जाता है।
उदाहरण: $pass = sha1(sha1($_REQUEST['pass']).sha1("[email protected]$#(%"));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. django चरित्र MySQL अजीबता के साथ सेट है

  2. केकेपीएचपी:खोज विधि के साथ प्रश्न बनाते समय मैं एक हैविंग ऑपरेशन का उपयोग कैसे कर सकता हूं?

  3. mysql-कनेक्टर-अजगर 2.0.1-1 python-mysql.connector के साथ संघर्ष

  4. MySQL जहां `कैरेक्टर` ='ए' ए, ए, Ã, आदि से मेल खाता है। क्यों?

  5. मॉडल से अग्रेषित इंजीनियरिंग के बाद मैं स्वचालित रूप से एक MySQL स्क्रिप्ट या दिनचर्या कैसे निष्पादित करूं?