OK - das habe ich herausgefunden.
Auf meinem lokalen System hatte ich eine neuere Version von node, aber auf meiner bereitgestellten Version (auf AWS ElasticBeanstalk) wurde v0.10.36 verwendet.
Wenn Sie sich den Code für passport-local-mongoose
ansehen Sie werden Folgendes sehen:
var pbkdf2DigestSupport = semver.gte(process.version, '0.12.0');
...
var pbkdf2 = function(password, salt, callback) {
if (pbkdf2DigestSupport) {
crypto.pbkdf2(password, salt, options.iterations, options.keylen, options.digestAlgorithm, callback);
} else {
crypto.pbkdf2(password, salt, options.iterations, options.keylen, callback);
}
};
Wenn also die beiden verschiedenen Versionen von node eine über 0.12.0 und eine unter 0.12.0 haben, erhalten Sie unterschiedliche Kryptofunktionen.