W mojej aplikacji nodeJS chciałbym wygenerować pakiety ETag dla wszystkich treści, które zwracam do klienta. Potrzebuję ETag na podstawie rzeczywistej zawartości pliku zamiast daty, tak aby ten sam plik w różnych procesach węzła miał ten sam ETag.Jakie kodowanie należy użyć do prawidłowego wygenerowania ETag z kryptografią w nodeJS?
Teraz robie co następuje:
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);
});
Nie jestem pewien, co powinno być kodowanie z użyciem różnych funkcji kryptograficznych w celu uzyskania odpowiedniego systemu w miejscu. Czy powinienem używać czegoś innego niż hex
? Czy powinienem uzyskać wywołanie fs.readFile
, aby zwrócić bufor zakodowany w formacie szesnastkowym? Jeśli tak, czy będzie to miało wpływ na treść zwracaną użytkownikom?
Best, a Dzięki
Sami
Może to pomóc: http://stackoverflow.com/q/4533 –