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

8 यादृच्छिक वर्णों के अद्वितीय तार डालें

यह आपको एक यादृच्छिक 8 वर्ण स्ट्रिंग देगा:

substr(str_pad(dechex(mt_rand()), 8, '0', STR_PAD_LEFT), -8);

यहां मिला:http://www.richardlord.net/blog/php-password- सुरक्षा

या यदि उपयोगकर्ता नाम फ़ील्ड अद्वितीय है तो आप इसका भी उपयोग कर सकते हैं:

substr(md5('username value'), 0, 8);

हालांकि यह बेहद असंभव है, विशेष रूप से एमडी 5 के लिए, न तो मामला एक अद्वितीय स्ट्रिंग की गारंटी देता है, इसलिए शायद मैं ऐसा कुछ करूंगा:

// Handle user registration or whatever...

function generatePID($sUsername) {
    return substr(md5($sUsername), 0, 8);
}

$bUnique = false;
$iAttempts = 0;

while (!$bUnique && $iAttempts < 10) {
    $aCheck = $oDB->findByPID(generatePID("username value")); // Query the database for a PID matching whats generated
    if (!$aCheck) { // If nothing is found, exit the loop
        $bUnique = true;
    } else {
        $iAttempts++;
    }
}

// Save PID and such...

... जो संभवत:केवल 1 'चेक' क्वेरी देगा, शायद 2 अद्वितीय मामलों में, और एक अद्वितीय स्ट्रिंग सुनिश्चित करेगा।



  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. PHP MySQL सेट कनेक्शन टाइमआउट

  3. यदि यह मौजूद नहीं है तो mysql तालिका में कॉलम जोड़ें

  4. MySQL में टेबल जॉइन का उपयोग करने और चालू करने में क्या अंतर है?

  5. कमांड लाइन के माध्यम से लिनक्स पर एक MySQL उपयोगकर्ता को अनुमतियाँ प्रदान करें