阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js crypto Decipher 类

      Node.js crypto Decipher 类

      新增于: v0.1.94

      Decipher类的实例用于解密数据。这个类可以用在以下两种方法中的一种:

      • 作为stream,既可读,又可写,加密数据的编写是为了在可读的方面生成未加密的数据
      • 使用decipher.update()和decipher.final()方法产生未加密的数据。

      crypto.createDecipher()或crypto.createDecipheriv()的方法 用于创建Decipher实例。Decipher对象不能直接使用new关键字创建。

      示例:使用Decipher对象作为流:

      const crypto = require('crypto');
      const decipher = crypto.createDecipher('aes192', 'a password');
      
      let decrypted = '';
      decipher.on('readable', () => {
        const data = decipher.read();
        if (data)
          decrypted += data.toString('utf8');
      });
      decipher.on('end', () => {
        console.log(decrypted);
        // Prints: some clear text data
      });
      
      const encrypted =
          'ca981be48e90867604588e75d04feabb63cc007a8f8ad89b10616ed84d815504';
      decipher.write(encrypted, 'hex');
      decipher.end();
      

      示例:使用Decipher和管道流:

      const crypto = require('crypto');
      const fs = require('fs');
      const decipher = crypto.createDecipher('aes192', 'a password');
      
      const input = fs.createReadStream('test.enc');
      const output = fs.createWriteStream('test.js');
      
      input.pipe(decipher).pipe(output);
      

      示例:使用decipher.update()和decipher.final()方法:

      const crypto = require('crypto');
      const decipher = crypto.createDecipher('aes192', 'a password');
      
      const encrypted =
          'ca981be48e90867604588e75d04feabb63cc007a8f8ad89b10616ed84d815504';
      let decrypted = decipher.update(encrypted, 'hex', 'utf8');
      decrypted += decipher.final('utf8');
      console.log(decrypted);
      // Prints: some clear text data
      

      更多内容请参考:Node.js crypto 加密,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录