Node.js 內置模塊crypto使用事件方法(onreadable)加密的一些問題

javaScript代碼以下:java


'use strict'; const crypto = require('crypto'); //實例化一個AES加密對象 const aesEncrept = crypto.createCipher('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();

 

運行結果:ui

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

 

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

1.當數據加密完成能夠讀取的時候( 也就是readable事件觸發的時候 ),readable事件會觸發兩次;3d

2.readable事件第一次觸發的時候data數據是存在的;code

3.readable事件第二次觸發的時候data數據會被置空對象

相關文章
相關標籤/搜索