使用stdin和stdout解密nodejs中的文件
作为nodechool的练习,我必须使用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:不是一个string或缓冲区
如何解决这个好方法?
process.stdin
和process.stdout
是stream以及由crypto.createDecipher()
创build的对象。 您可以将stream连接在一起调用到.pipe()
,你就完成了。
解决您正在处理的问题的解决scheme可能如下所示:
var crypto = require('crypto'); var decipher = crypto.createDecipher('aes256', process.argv[2]); process.stdin.pipe(decipher).pipe(process.stdout);