node.js - 在 node.js 上使用 aes-ecb 加密二进制数据

标签 node.js encryption aes ecb

我尝试在 node.js 上进行加密,但很糟糕,我无法获得与在线网站相同的结果。

我想用二进制 key 加密一些二进制数据。我使用 nodejs site 上的教程但我的引用数据集有不同的结果。 我的引用数据集使用 Java 代码、C 代码和两个在线站点进行了验证: http://aes.online-domain-tools.com/https://www.hanewin.net/encrypt/aes/aes-test.htm

您知道如何使用与那些网站相同的方式进行加密吗? 我想这可能是填充?

提前致谢。 弗朗索瓦

我的引用数据集:

    key=8CBDEC62EB4DCA778F842B02503011B2
    src=0002123401010100000000000000c631
    encrypted=3edde3f1368328a1a37cf596bc8d4a7c

我的代码:

    var key = new Buffer('8CBDEC62EB4DCA778F842B02503011B2', 'hex')
    var src = new Buffer('0002123401010100000000000000c631', 'hex')
    cipher = crypto.createCipher("aes-128-ecb", key)
    result = cipher.update(src).toString('hex');
    result += cipher.final().toString('hex');
    "result   : " + result

输出:

    result   : 4da42b57b99320067979086700651050e972f1febd1d506e5c90d3b5d3bc9424

最佳答案

谢谢 Artjom B。

我在下面发布固定代码:

var key = new Buffer('8CBDEC62EB4DCA778F842B02503011B2', 'hex')
var src = new Buffer('0002123401010100000000000000c631', 'hex')
cipher = crypto.createCipheriv("aes-128-ecb", key, '')
cipher.setAutoPadding(false)
result = cipher.update(src).toString('hex');
result += cipher.final().toString('hex');
"result   : " + result

要解密,做同样的事情:

var key = new Buffer('8CBDEC62EB4DCA778F842B02503011B2', 'hex')
var encrypted = new Buffer('3edde3f1368328a1a37cf596bc8d4a7c', 'hex')
decipher = crypto.createDecipheriv("aes-128-ecb", key, '')
decipher.setAutoPadding(false)
result = decipher.update(encrypted).toString('hex');
result += decipher.final().toString('hex');
"result   : " + result

谢谢,我衷心感谢。 问候,弗朗索瓦

关于node.js - 在 node.js 上使用 aes-ecb 加密二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43788513/

相关文章:

javascript - 如何发送重复的 POST 参数

android - 如何使用 Android 版 Spongy CaSTLe 加密和解密文件

javascript - Java 和 Javascript 之间的加密和解密将不起作用

security - 为什么许多 SSL 证书供应商都宣传支持 128/256 位加密?

java - 获取加密文件的文件名

c - 来自/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 的段错误

javascript - octokit getLabel 返回 TypeError : callback. 绑定(bind)不是函数

javascript - 如何显示喜欢/不喜欢 MySQL、NodeJS

java - 正在寻找用于解密使用 openssl -aes-256-cbc -a -salt 命令加密的消息的 Java 实现?

javascript - 层次结构的平面目录路径