Node的crypto模块使用事件方法(onreadable)加密的一些问题

Posted hros

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node的crypto模块使用事件方法(onreadable)加密的一些问题相关的知识,希望对你有一定的参考价值。

javascript代码如下:


‘use strict‘; const crypto = require(‘crypto‘); //实例化一个AES加密对象 const aesEncrept = crypto.createCipher(‘aes192‘, ‘key‘); const aesDecrept = crypto.createDecipher(‘aes192‘, ‘key‘);
aesEncrept.on(
‘readable‘, () => let data = aesEncrept.read(); console.log(1); console.log(data); if(data) console.log(data.toString(‘hex‘)); console.log(2); ); aesEncrept.on(‘end‘, () => console.log(3); ); aesEncrept.write("Hello world!"); aesEncrept.end();

 

运行结果:

1
<Buffer ae 1b 3d 2c a1 56 18 e6 bd b0 30 d0 3d e9 82 b4>
ae1b3d2ca15618e6bdb030d03de982b4
2
1
null
2
3

 

使用事件加密比较有意思的是:

1.当数据加密完成可以读取的时候( 也就是readable事件触发的时候 ),readable事件会触发两次;

2.readable事件第一次触发的时候data数据是存在的;

3.readable事件第二次触发的时候data数据会被置空

 

以上是关于Node的crypto模块使用事件方法(onreadable)加密的一些问题的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 内置模块crypto加密模块 AES

Node.js 内置模块crypto加密模块md5和shax

错误:试图导入 Node 标准库模块“crypto”。它失败了

Node.js v0.10.31API手冊-加密

Node.js v0.10.31API手冊-加密

使用nodeJS的 crypto模块来为你的密码hash加盐