作为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:不是字符串或缓冲区
如何解决这个好方法?
答案 0 :(得分:1)
process.stdin
和process.stdout
是流以及crypto.createDecipher()
创建的对象。您可以通过调用.pipe()
将流连接起来,然后就完成了。
您要解决的问题的解决方案可能如下所示:
var crypto = require('crypto');
var decipher = crypto.createDecipher('aes256', process.argv[2]);
process.stdin.pipe(decipher).pipe(process.stdout);