Javascript 如何在NodeJS中使用aes-256-ecb正确加密字符串,并使用OpenSSL的命令行进行解密?

Javascript 如何在NodeJS中使用aes-256-ecb正确加密字符串,并使用OpenSSL的命令行进行解密?,javascript,node.js,encryption,cryptography,aes,Javascript,Node.js,Encryption,Cryptography,Aes,我正试图通过node.js的内置加密库使用aes-256-ecb密码对一个长UTF-8编码字符串进行加密。下面是我在node.js v0.10.24中编写并测试的加密代码,以及OpenSSL OpenSSL 1.0.1 2012年3月14日命令行的相应输出和解密命令 使用node.js进行加密 var crypto=需要“加密”; var cipher=crypto.createCipher'aes-256-ecb','password'; var明文=[ “这是一段很长的路”, “隆隆隆隆隆隆

我正试图通过node.js的内置加密库使用aes-256-ecb密码对一个长UTF-8编码字符串进行加密。下面是我在node.js v0.10.24中编写并测试的加密代码,以及OpenSSL OpenSSL 1.0.1 2012年3月14日命令行的相应输出和解密命令

使用node.js进行加密 var crypto=需要“加密”; var cipher=crypto.createCipher'aes-256-ecb','password'; var明文=[ “这是一段很长的路”, “隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆隆”, “长长的绳子!!!!!!!” ].加入 console.logcipher.updateplaintext,'utf8','base64'+cipher.final'base64' 输出 XBnU6WZ9wr2GdA1YWZVhsG+mHQ0xlXXc8rAFEud6I/PqfFZL6Pdit7Sm8v+ViKNZmhgTzi7zfg8GHKFntkCDuj6F54TDaWKAdJRftLP9I+22JIKRVYTPD4SDV2IY93mm5imbsobarvxaynf8H9FQNHACmHHx14YCG/L6IHH2BDWCGCSIFGYX 使用OpenSSL解密 echo-n'XBnU6WZ9wr2GdA1YWZVhsG+mHQ0xlXXc8rAFEud6I/PqfFZL6Pdit7Sm8v+ViKNZmhgTzi7zfg8GHKFntkCDuj6F54TDaWKAdJRftLP9I+22JIKRVYTPD4SDV2OIY93MM5IMBSOBRVXAYNF8H9FQNHACM5MHHX1PLIR4YCG/L6IHH2BDLRWCSIFGCGAQYX';openssl enc-d-aes-256-ecb-nosalt-a-通行证:密码 输出 解密错误 3074361544:错误:0606506D:数字信封例程:EVP_DecryptFinal_ex:错误的最终块长度:EVP_enc.c:532:
哪一个是错的;我的加密还是解密?如何使它们彼此兼容?

在openssl命令中,您应该使用-base64在一行上处理数据的选项

openssl enc -d -aes-256-ecb -nosalt -a -A -pass pass:password

在openssl命令中,您应该使用-A选项在一行上处理base64数据

openssl enc -d -aes-256-ecb -nosalt -a -A -pass pass:password