न्यूनतम दोहराव के साथ 5 यादृच्छिक वर्ण उत्पन्न करना
न्यूनतम दोहराव के साथ एक यादृच्छिक 5-वर्ण स्ट्रिंग बनाने के लिए, सबसे प्रभावी तरीकों में से एक का उपयोग किया जाता है PHP फ़ंक्शंस और चतुर तकनीकों का संयोजन। आइए समाधानों पर गौर करें:
md5 और rand का उपयोग करना
$rand = substr(md5(microtime()),rand(0,26),5);
यह विधि टाइमस्टैम्प से 32-वर्ण स्ट्रिंग उत्पन्न करने के लिए एमडी5 हैश फ़ंक्शन को नियोजित करती है। सबस्ट्र और रैंड का उपयोग करके, एक यादृच्छिक 5-वर्ण उपधारा निकाली जाती है, जिसके परिणामस्वरूप कम दोहराव की संभावना वाली एक स्ट्रिंग बनती है।
शफल और array_rand का उपयोग करना
$seed = str_split('abcdefghijklmnopqrstuvwxyz'
.'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
.'0123456789!@#$%^&*()'); // and any other characters
shuffle($seed); // probably optional since array_is randomized; this may be redundant
$rand = '';
foreach (array_rand($seed, 5) as $k) $rand .= $seed[$k];
यहां, एक पूर्वनिर्धारित वर्ण सेट ($seed) को बेतरतीब ढंग से फेरबदल किया गया है। फिर array_rand का उपयोग करके मिश्रित सरणी से पांच वर्णों को यादृच्छिक रूप से चुना जाता है, जिससे वर्णों का विविध वितरण सुनिश्चित होता है।
वृद्धिशील हैशिंग का उपयोग करना
function incrementalHash($len = 5){
$charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$base = strlen($charset);
$result = '';
$now = explode(' ', microtime())[1];
while ($now >= $base){
$i = (int)$now % $base;
$result = $charset[$i] . $result;
$now /= $base;
}
return substr(str_repeat($charset[0], $len) . $result, -$len);
}
यह फ़ंक्शन क्रमिक रूप से एक यादृच्छिक स्ट्रिंग उत्पन्न करने के लिए वर्तमान समय से माइक्रोसेकंड का उपयोग करता है। परिणाम प्रत्येक अगली पीढ़ी के साथ एक बढ़ती हुई अद्वितीय स्ट्रिंग है। हालाँकि, यह ध्यान देने योग्य है कि यदि इसका उपयोग क्रिप्टोग्राफ़िक उद्देश्यों जैसे नमकीन बनाने या टोकन बनाने के लिए किया जाता है तो इसकी पूर्वानुमानशीलता अन्य तरीकों की तुलना में अधिक है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3