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

क्रिप्ट () नमक उत्पादन और पासवर्ड एन्क्रिप्शन, अच्छी तरह से निष्पादित?

कुछ बिंदु हैं जिन्हें सुधारा जा सकता है, लेकिन पहले मैं PHP के नए फ़ंक्शन पासवर्ड_हैश () . यह फ़ंक्शन एक सुरक्षित नमक उत्पन्न करेगा और इसे परिणामी हैश-मान में शामिल करेगा, ताकि आप इसे एकल डेटाबेस फ़ील्ड में संग्रहीत कर सकें। एक संगतता पैक भी मौजूद है। पुराने संस्करणों के लिए।

// Hash a new password for storing in the database.
// The function automatically generates a cryptographically safe salt.
$hashToStoreInDb = password_hash($password, PASSWORD_BCRYPT);

// Check if the hash of the entered login password, matches the stored hash.
// The salt and the cost factor will be extracted from $existingHashFromDb.
$isPasswordCorrect = password_verify($password, $existingHashFromDb);

आपके कोड के बारे में कुछ विचार:

  1. आप क्रिप्ट() के साथ एक BCrypt हैश उत्पन्न करते हैं, इसलिए नमक परिणामी हैश का हिस्सा होगा। इसे अलग से स्टोर करने की कोई आवश्यकता नहीं है।
  2. नमक के उत्पादन में सुधार किया जा सकता है, ऑपरेटिंग सिस्टम MCRYPT_DEV_URANDOM के यादृच्छिक स्रोत का उपयोग करें।
  3. यदि आप लागत कारक को 9 में बदलते हैं, तो प्रारूप अमान्य हो जाएगा, क्योंकि क्रिप्ट दो अंकों की अपेक्षा करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डॉकटर-कंपोज़ mysql कंटेनर से कनेक्ट करने से एक्सेस से इनकार कर दिया जाता है, लेकिन समान इमेज को चलाने वाला डॉकर नहीं करता है

  2. MYSQL में ENUM फ़ील्ड द्वारा ऑर्डर करें

  3. AWS RDS पर MySQL डेटाबेस और Oracle डेटाबेस के साथ JDeveloper का उपयोग करना, भाग 3

  4. Information_schema.tables पर धीमी क्वेरी

  5. एक सरणी को MySQL में कैसे स्टोर करें?