node新手一个关于aes128加密的问题
下面这段代码在node中要怎么写呢?
$cipher = base64_encode(openssl_encrypt(json_encode($param), 'aes-128-cbc', hash('MD5', $aesKey, true), OPENSSL_RAW_DATA, $iv));
我的代码是这样的,但是发现结果并不一样。。。。
const hash = crypto.createHash( 'MD5' )
hash.update( aesKey )
const aesKeySignStr = hash.digest()
const iv = Math.random().toString( 36 ).substr( 2 )
const cipher = crypto.createCipher( 'aes-128-cbc', aesKeySignStr, iv )
console.log( JSON.stringify( this.params ) );
let crypted = cipher.update( JSON.stringify( this.params ), 'utf8', 'hex' )
crypted += cipher.final( 'hex' )
请各位大佬搭救。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
node不太懂,但我猜可能是这样的
因为初始向量和秘钥都是要跟分块大小保持一致,也就是说你用cbc-128,那么二者的大小都是16个字节
但看你的代码显然不是这样
结果不一样。那你把每个过程中的值都打印出来看一下啊。造成不一样的原因就两个,1。算法不同,2。初始值不同