Node.js / javascript加密AES-128,如PHP中的mcrypt_ecb [英] Node.js/javascript encrypt AES-128 like mcrypt_ecb in PHP

查看:174
本文介绍了Node.js / javascript加密AES-128,如PHP中的mcrypt_ecb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  $ ip =MY_IP; 
$ secret =MY_KEY;
$ ip = @mcrypt_ecb(MCRYPT_RIJNDAEL_128,$ secret,$ ip,MCRYPT_ENCRYPT);
$ encrypted = bin2hex($ ip); //加密:2854edb405cb7230ba1f4b87acddba8a

我需要做的是具有相同的代码,但使用javascript /node.js。我在crypto node.js本机模块中进行了搜索,但是我无法重现相同的结果:

  var crypto = require('crypto'); 
var ip =MY_IP;
var secret =MY_KEY;
var cipher = crypto.createCipher(AES-128-ECB,secret);
var encrypted = cipher.update(ip,'utf8','hex');
encrypted + = cipher.final('hex'); //加密:e84c06888696edda0139e98fc2c0a8cc

有人有想法吗?

解决方案

我发布太快了,找到解决方案:

  $> npm install mcrypt 

然后代码:

  var MCrypt = require('mcrypt')。MCrypt; 
var ip =MY_IP;
var secret =MY_KEY
var desEcb = new MCrypt('rijndael-128','ecb');
desEcb.open(secret);
var cipherText = desEcb.encrypt(ip); // cipherText:2854edb405cb7230ba1f4b87acddba8a

MCrypt github用于更多加密工具: https://github.com/tugrul/node-mcrypt


I have a PHP code that encrypt in AES-128 an ip address:

$ip = "MY_IP";
$secret = "MY_KEY";
$ip = @mcrypt_ecb(MCRYPT_RIJNDAEL_128, $secret, $ip, MCRYPT_ENCRYPT); 
$encrypted = bin2hex($ip);  // encrypted: 2854edb405cb7230ba1f4b87acddba8a

What I need to do is to have the same piece of code but using javascript/node.js. I've searched in the crypto node.js native module but I wasn't able to reproduce the same result:

var crypto = require('crypto');
var ip = "MY_IP";
var secret = "MY_KEY";
var cipher = crypto.createCipher("AES-128-ECB", secret);
var encrypted = cipher.update(ip, 'utf8', 'hex');
encrypted += cipher.final('hex'); // encrypted: e84c06888696edda0139e98fc2c0a8cc

Does someone have an idea ?

解决方案

I've posted too quickly, found the solution:

$> npm install mcrypt

And then the code:

var MCrypt = require('mcrypt').MCrypt;
var ip = "MY_IP";
var secret = "MY_KEY"
var desEcb = new MCrypt('rijndael-128', 'ecb');
desEcb.open(secret);
var cipherText = desEcb.encrypt(ip); // cipherText: 2854edb405cb7230ba1f4b87acddba8a

MCrypt github for more encryption tool: https://github.com/tugrul/node-mcrypt

这篇关于Node.js / javascript加密AES-128,如PHP中的mcrypt_ecb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆