2012-09-25 21 views
6

मैं node.js में पासवर्ड रीसेट टोकन कैसे उत्पन्न करूं जिसका उपयोग यूआरएल में किया जा सकता है?node.js में पासवर्ड रीसेट टोकन जेनरेट करें

मैं सिर्फ टोकन बनाने के लिए विधि की जरूरत है:

user.reset_password_token = ???; 
user.reset_password_expire = expire_date; 

संपादित करें - यहाँ समाधान है:

user.reset_password_token = require('crypto').randomBytes(32).toString('hex'); 
+0

क्या आप शेष कोड शामिल कर सकते हैं? :) – Lion789

+0

मैंने जो समाधान किया था, मैंने जोड़ा। – chovy

+0

धन्यवाद, हाँ, मैंने इसका उपयोग समाप्त कर दिया, मैंने 48 बाइट्स किए, मुझे लगता है कि यह अधिक जगह लेने के अलावा वास्तव में कोई फर्क नहीं पड़ता है, या आपको लगता है कि 32 पर्याप्त है? – Lion789

उत्तर

13

मैं अपने Auth-टोकन उत्पन्न करने के लिए इस का उपयोग कर रहा:

require('crypto').randomBytes(32, function(ex, buf) { 
    var token = buf.toString('hex'); 
}); 

Crypto Node.js v0.8.9 Manual & Documentation

+0

मैं उस डब्ल्यू/कोड का उपयोग कैसे करूं? क्या मुझे सबकुछ यादृच्छिक बाइट्स कॉलबैक में ले जाना है? – chovy

+5

'user.reset_password_token = आवश्यकता ('क्रिप्टो')। यादृच्छिक बाइट्स (32) .toString ('हेक्स');' – chovy

+0

टोकन को वास्तविक रूप से कितना बड़ा होना चाहिए? क्या यह 32 होना चाहिए या यह एक छोटे यूआरएल के लिए 8 हो सकता है। – chovy

0
function customToken() { 
    var buffreValue = new Buffer(64); 
    for (var i = 0; i < buffreValue.length; i++) { 
     buffreValue[i] = Math.floor(Math.random() * 256); 
    } 
    var token = buffreValue.toString('base64'); 
    return token; 
} 
var getToken = customToken() 
संबंधित मुद्दे