मेरे नोडजेएस ऐप में, मैं क्लाइंट में लौटने वाली सभी सामग्री के लिए ईटैग जेनरेट करना चाहता हूं। मुझे ईटाग को तिथि की बजाय फ़ाइल की वास्तविक सामग्री के आधार पर होने की आवश्यकता है, ताकि अलग-अलग नोड प्रक्रियाओं में एक ही फ़ाइल में एक ही ईटाग हो।nodeJS में क्रिप्टो के साथ ईटाग को ठीक से उत्पन्न करने के लिए मुझे किस एन्कोडिंग का उपयोग करना चाहिए?
अभी, मैं निम्नलिखित कर रहा हूँ:
var fs = require('fs'), crypto = require('crypto');
fs.readFile(pathToFile, function(err, buf){
var eTag = crypto.createHash('md5').update(buf).digest('hex');
res.writeHead(200, {'ETag': '"' + eTag + '"','Content-Type':contentType});
res.end(buf);
});
मुझे यकीन है कि क्या एन्कोडिंग मैं आदेश जगह में एक उचित प्रणाली है करने के लिए अलग अलग क्रिप्टो कार्यों के लिए उपयोग करते हुए किया जाना चाहिए नहीं कर रहा हूँ। क्या मुझे hex
के अलावा कुछ और उपयोग करना चाहिए? क्या मुझे fs.readFile
कॉल हेक्स एन्कोडेड बफर वापस करने के लिए मिलना चाहिए? यदि ऐसा है, तो उपयोगकर्ताओं को लौटाई गई सामग्री पर इतना असर पड़ेगा?
बेस्ट, और धन्यवाद,
सामी
यह मदद कर सकता है: http://stackoverflow.com/q/4533 –