node.js将csv的每一行转换为sha1并输出到新的csv

我是一个新手,所以要温柔。 高级别,我有一堆电子邮件地址在.csv。 我想将每个电子邮件地址转换为sha1出于隐私的目的。 我正在尝试在node.js,这是我到目前为止:

var crypto = require('crypto'); var fs = require('fs'); var parse = require('csv-parse'); var async = require('async'); var inputFile = 'emailList.csv'; var outputFile = 'sha1List.csv'; var hash = crypto.createHash('sha1') var parser = parse({delimiter: ','}, function (err, data) { async.eachSeries(data, function (line, callback) { // do something with the line hash.write(line).then(function() { // when processing finishes invoke the callback to move to the next one hash.end(); callback(); }); }) }) fs.createReadStream(inputFile).pipe(parser).pipe(fs.createWriteStream(outputFile)) ; 

但是,我的输出文件是零字节。 我敢肯定,问题是行对象是一个stream对象,encryption不工作的方式,我实现。 我也尝试过使用sha1模块作为sha1(line),然后(function等等等等等等等等结果。我该怎么做呢?还有,不嫁给node.js,如果有人有好主意的话。

这是我想出了https://gist.github.com/cdurth/6735c82cd11c5a057bd4

不知道你的inputcsv是什么样子,所以相应地改变数组中电子邮件的位置