Node.js / javascript加密AES-128,如PHP中的mcrypt_ecb [英] Node.js/javascript encrypt AES-128 like mcrypt_ecb in PHP
本文介绍了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屋!
查看全文