javascript - nodejs和java加密通信问题
巴扎黑
巴扎黑 2017-04-11 10:11:10
[JavaScript讨论组]

现在是有一个需求,是在node端向java端发起一个请求,java端接收这个请求,在请求的过程中要进行加密,在java端使用的是“DES/CBC/PKCS5Padding”,在node端想通过“createDecipheriv”来实现,但是怎么匹配都不行,下面是node端的代码,大家帮忙看看是哪里不对,辛苦各位了。
加密方法:

var crypto=require('crypto');
var encrypt = function (key, iv, data) {
    var cipher = crypto.createCipheriv('des-128-cbc', key, iv);
    var crypted = cipher.update(data, 'utf8', 'binary');
    crypted += cipher.final('binary');
    crypted = new Buffer(crypted, 'binary').toString('base64');
    return crypted;
};

调用:

var key = '751f621ea5c8f930';
var iv = '2624750004598718';
var data = "Hello, nodejs. 演示加密和解密";

var crypted = encrypt(key, iv, data);
console.log("数据加密后:", crypted);
crypto.js:187
  this._handle.initiv(cipher, toBuf(key), toBuf(iv));
               ^

Error: Unknown cipher
    at Error (native)
    at new Cipheriv (crypto.js:187:16)
    at Object.Cipheriv (crypto.js:185:12)
    at encrypt (d:\workspace\testConnect\node_modules\js\des.js:14:25)
    at Object.<anonymous> (d:\workspace\testConnect\node_modules\js\des.js:42:15)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
巴扎黑
巴扎黑

全部回复(1)
巴扎黑

我查了一下没有des-128-cbc这个算法,只有aes-128-cbc
openssl list-cipher-algorithms 命令查看加密算法列表

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号