• Nodejs加密php解密


    var crypto = require('crypto');
    
    function decode(cryptkey, iv, secretdata) {
        var
        decipher = crypto.createDecipheriv('aes-256-cbc', cryptkey, iv),
        decoded  = decipher.update(secretdata, 'base64', 'utf8');
       
        decoded += decipher.final( 'utf8' );
        return decoded;
    }
    
    function encode(cryptkey, iv, cleardata) {
        var
        encipher = crypto.createCipheriv('aes-256-cbc', cryptkey, iv),
        encoded  = encipher.update(cleardata, 'utf8', 'base64');
    
        encoded += encipher.final( 'base64' );
        return encoded;
    }
    
    var
    cryptkey   = crypto.createHash('sha256').update('__tazai_wolf__key').digest(),
    iv         = '1234567890000000',
    buf        = "TALK:创建房间页面。点击Creat room。怎么没反应?...",
    enc        = encode( cryptkey, iv, buf );
    
    var dec        = decode(cryptkey, iv, enc);
    
    function b64enc(data) {
        var b   = new Buffer(data, 'binary');
        return b.toString('base64');
    }
    
    console.warn("Encoded length: ", enc);
    console.warn("Decoded all: " + dec);
    
    <?php
    function decode($cryptkey, $iv, $secretdata){
        return openssl_decrypt($secretdata,'aes-256-cbc',$cryptkey,false,$iv);
    }
    function encode($cryptkey, $iv, $secretdata){
        return openssl_encrypt($secretdata,'aes-256-cbc',$cryptkey,false,$iv);
    }
    $cryptkey = hash('sha256','__tazai_wolf__key',true);
    $iv = '1234567890000000';
    $buf = "Hello World";
    
    $enc = encode($cryptkey,$iv,$buf);
    $dec = decode($cryptkey, $iv, $enc);
    
    echo "Encoded length: ",$enc,"
    ";
    echo "Decoded all: ",$dec,"
    ";
    

      

  • 相关阅读:
    4种xml解析器区别
    eclipse的快捷键(常用)
    eclipse修改项目访问前缀
    oracle创建用户
    导入安全证书到jdk
    laravel 命令行输出进度条
    sql 事务的四种隔离级别
    supervisor 通过图形界面管理
    supervisor "INFO spawnerr: unknown error making dispatchers for xxx" 错误
    linux expect 的使用
  • 原文地址:https://www.cnblogs.com/adtuu/p/4688270.html
Copyright © 2020-2023  润新知