如何将此函数转换为nodejs

时间:2016-10-04 10:28:58

标签: php node.js encryption

我有这个用于加密数据的php函数,如何将其转换为NodeJS?

<?php

function Encrypt($input, $key_seed){
     $input = trim($input);
     $block = mcrypt_get_block_size('tripledes', 'ecb');
     $len = strlen($input);
     $padding = $block - ($len % $block);
     $input .= str_repeat(chr($padding),$padding);
     // generate a 24 byte key from the md5 of the seed
     $key = substr(md5($key_seed),0,24);
     $iv_size = mcrypt_get_iv_size(MCRYPT_TRIPLEDES, MCRYPT_MODE_ECB);
     echo "--" . $iv_size . "\n";
     $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
     // encrypt
     $encrypted_data = mcrypt_encrypt(MCRYPT_TRIPLEDES, $key,
     $input, MCRYPT_MODE_ECB, $iv);
     // clean up output and return base64 encoded
     return base64_encode($encrypted_data);
}

请帮帮我!谢谢!

1 个答案:

答案 0 :(得分:0)

Node.js有很棒的lib,你可以在node.js中找到很多php类或lib,现在你可以使用:node-mcrypt

支持的算法:

[ 'cast-128', 'gost', 'rijndael-128', 'twofish', 'arcfour', 'cast-256', 'loki97', 'rijndael-192', 'saferplus', 'wake', 'blowfish-compat', 'des', 'rijndael-256', 'serpent', 'xtea', 'blowfish', 'enigma', 'rc2', 'tripledes' ] 

到此处获取使用示例:

https://github.com/tugrul/node-mcrypt