Вы должны использовать node-scrypt.
У этого есть ясный API и хорошая документация.
var scrypt = require("scrypt");
var scryptParameters = scrypt.params(0.1);
var key = new Buffer("this is a key"); //key defaults to buffer in config, so input must be a buffer
//Synchronous example that will output in hexidecimal encoding
scrypt.hash.config.outputEncoding = "hex";
var hash = scrypt.hash(key, scryptParameters); //should be wrapped in try catch, but leaving it out for brevity
console.log("Synchronous result: "+hash);
//Asynchronous example that expects key to be ascii encoded
scrypt.hash.config.keyEncoding = "ascii";
scrypt.hash("ascii encoded key", {N: 1, r:1, p:1}, function(err, result){
//result will be hex encoded
//Note how scrypt parameters was passed as a JSON object
console.log("Asynchronous result: "+result);
});
Криптографическая библиотека узла не поддерживает шифрование. И реализация scrypt в криптографии, похоже, не будет в будущем, поскольку scrypt еще не стандартизирован. Вы должны использовать [node-scrypt] (https://github.com/barrysteyn/node-scrypt), который обертывает собственную утилиту scrypt для C++. – tsturzl