使用stdin和stdout解密nodejs中的文件

时间:2015-01-14 11:58:43

标签: node.js encryption

作为nodeschool的练习,我必须使用stdin和stdout解密文件。

所以我做了这个:

var crypto = require('crypto');

var stream = crypto.createDecipher('aes256', process.argv[2]);
var step1 = process.stdin.update(stream);
var step2 = stream.final();
console.log(step2)
//step2.pipe(process.stdout.toString()); 

但现在我看到这条消息:TypeError:不是字符串或缓冲区

如何解决这个好方法?

1 个答案:

答案 0 :(得分:1)

process.stdinprocess.stdout是流以及crypto.createDecipher()创建的对象。您可以通过调用.pipe()将流连接起来,然后就完成了。

您要解决的问题的解决方案可能如下所示:

var crypto = require('crypto');

var decipher = crypto.createDecipher('aes256', process.argv[2]);
process.stdin.pipe(decipher).pipe(process.stdout);