【发布时间】:2015-08-17 03:18:44
【问题描述】:
我是新手,所以要温柔。高级别的,我在 .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)) ;
但是,我的输出文件是零字节。我很确定问题在于 line 对象是一个流对象,而 crypto 不能按照我实现的方式工作。我还尝试使用 sha1 模块作为 sha1(line).then(function etc etc etc. 结果相同。我应该在这里做什么?另外,如果有人有一个好主意,请不要与 node.js 结婚。
【问题讨论】: