मैं खाता सक्रियण के लिए उपयोग किए जाने वाले सत्यापन कोड उत्पन्न कर रहा हूं। आपने शायद इस तरह की चीज पहले देखी है।एक यादृच्छिक स्ट्रिंग एक अच्छा सत्यापन कोड है
मेरा प्रश्न:
md5(md5(time().'helloguys'.rand(0,9999)));
यह वास्तव में किसी भी 32 वर्ण और gj3dI3OGwo5Enf...
की तरह नंबर की बस एक यादृच्छिक स्ट्रिंग पैदा करने से बेहतर है: मैं इस तरह एक जटिल फार्मूले के साथ इस कोड को उत्पन्न करने के लिए थे तो क्या होगा?
पर यादृच्छिक दृश्यों उत्पन्न करने के लिए विचार कर सकते हैं आप अपने परिणाम एन्कोडिंग base32 इतना है कि यह आसान अपने उपयोगकर्ताओं को अक्षर है कि कुछ में समान लग के बीच अंतर करने के लिए है विचार करना चाह सकते फोंट्स। –
यादृच्छिक मूल्य (यानी सत्यापन संख्या) उत्पन्न करने के अलावा, यदि 2 उपयोगकर्ता दुर्घटना से वही सत्यापन कोड पंजीकृत करते हैं और उत्पन्न करते हैं, तो आप ऐसे मामले को संभालना चाहेंगे। यदि विशिष्टता मायने रखती है, तो मुझे लगता है कि mt_rand() भी पर्याप्त नहीं हो सकता है। –
मुझे लगता है कि सत्यापन कोड डेटाबेस में संग्रहीत किए जाएंगे - कॉलम पर एक अनूठी कुंजी डालें, और सत्यापन कोड डालने से पहले, जांचें कि यह डेटाबेस में पहले से मौजूद है या नहीं, और जब तक आपको कोई ऐसा नहीं मिलता तब तक नई कुंजी उत्पन्न करना जारी रखें पहले इस्तेमाल नहीं किया गया है। –