美文网首页
crypto模块Cipher使用AES256算法加密效率。

crypto模块Cipher使用AES256算法加密效率。

作者: wusp | 来源:发表于2016-05-26 20:22 被阅读549次

    有时候我们会使用crypto模块对数据进行加密。比较经典的情形就是生产AccessToken.
    今天就测试下Cipher使用AES256对于数据加密的效率。

    生成accesstoken代码:

    module.exports.generateAccessToken = function (content, callback) {
        var cipher = crypto.createCipher('aes256', '##wusp^&*15578899366');    //password is ##wusp^&*15578899366
        var encrypted = '';    
        cipher.on('readable', function () {
            var data = cipher.read();        
            if(data){
                encrypted += data.toString('hex');
            }    
        });    
        cipher.on('end', function () {    });
        cipher.write(content);    
        cipher.end();
    };
    

    循环生产10W条AccessToken代码:

    var tokenManager = require('./tokenManager');
    var date = new Date();
    var startTime = date.getTime();
    for(var i = 1; i < 100000; i++){
        tokenManager.generateAccessToken(JSON.stringify({name: 'wusp', age: '12', company: 'gxnews', uuid: 'd22f30b8-2716-41d2-84f2-4cd56bb75ecc', exp: ('2016-7-1' + i)}), function () {    });
    }
    date = new Date();
    var endTime = date.getTime();
    console.log('json using time: ' + (endTime - startTime));
    date = new Date();
    startTime = date.getTime();
    for(i = 1; i < 100000; i++) {
        tokenManager.generateAccessToken('name=wusp, age=12, company=gxnews, uuid=d22f30b8-2716-41d2-84f2-4cd56bb75ecc, exp=2016-7-1' + i, function () {    });
    }
    date = new Date();
    endTime = date.getTime();
    console.log('string using time: ' + (endTime - startTime));
    

    测试结果:
    1. json using time: 5234
    2. string using time: 4435

    测试结果截图

    相关文章

      网友评论

          本文标题:crypto模块Cipher使用AES256算法加密效率。

          本文链接:https://www.haomeiwen.com/subject/nkexdttx.html