小编Hen*_*ash的帖子

AES 在 PHP 中使用 OpenSSL 加密/在 Node.js 中解密

我正在使用 PHP 和 Nodejs 使用 OpenSSL 进行对称加密。PHP 使用 OpenSSL 库,Node.js 解密基于实现的加密。问题是 Node.js 中解密的文本只是部分正确

用于加密的 PHP 函数

function encrypt($text, $pw, $base64 = true) {

    $method = 'aes-256-cbc';
    $iv_len = openssl_cipher_iv_length($method);
    $iv = openssl_random_pseudo_bytes($iv_len);
    
    $pw = substr(md5($pw),0,32);

    $cipher =  openssl_encrypt ($text ,$method ,$pw ,!$base64 ,$iv );

    if($base64) {
            $pw = base64_encode($pw);
            $iv = base64_encode($iv);
        }

    return array(
        'iv' => $iv,
        'pw' => $pw,
        'text' => $text,
        'cipher' => $cipher
    );
}
Run Code Online (Sandbox Code Playgroud)

nodejs中的解密

var cipher = new Buffer(data.cipher, 'base64');
var iv …
Run Code Online (Sandbox Code Playgroud)

php node.js php-openssl

5
推荐指数
1
解决办法
7958
查看次数

Socket.IO客户端库提供"welcome to socket.io"消息

一段时间后,我再次尝试使用node.js和socket.IO,但它没有按预期工作:

我的设置

  1. 从github下载了node.js并在我在debian squeeze上运行的外部web服务器上编译它
  2. 为node.js项目创建了一个目录
  3. 使用npm在本地添加了socket.io
  4. 创建了socketIO_server.js并添加了这一行代码:

    var socketIO = require('socket.io').listen(8000);
    
    Run Code Online (Sandbox Code Playgroud)
  5. 启动socketIO_server.js和控制台日志说"info - socket.io started"

  6. 打开http://domain.tld:8000会显示消息"welcome to socket.io"

问题

当我尝试通过http://domain.tld:8000/socket.io/socket.io.js访问客户端库时,它还会给出消息"welcome to socket.io",但控制台日志显示"提供的静态内容" /socket.io.js".我不知道为什么会这样!我虽然运行并行的nginx服务器导致此问题,但停止服务器并没有改变任何东西.

感谢阅读和帮助!

javascript node.js socket.io

4
推荐指数
1
解决办法
2517
查看次数

标签 统计

node.js ×2

javascript ×1

php ×1

php-openssl ×1

socket.io ×1