阿西河

所有教程

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

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js crypto Cipher 类

      Node.js crypto Cipher 类

      新增于: v0.1.94

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

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

      crypto.createCipher()或crypto.createCipheriv()方法用于创建Cipher实例。Cipher对象不能直接使用new关键字创建。

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

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

      示例:使用Cipher和管道流:

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

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

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

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


      目录
      本文目录
      目录