nodejs aes192加密,在golang中解密碰到的坑

本文讲述了在将一个使用Node.js AES192加密的服务器改写为Golang过程中遇到的问题。主要难点在于确定Node.js中使用的加密模式以及如何在Golang中正确解密。通过研究发现,Node.js旧接口已废弃,需使用新接口,并且在Golang中解密时需要明确密钥和向量。最终解决方案是调整Node.js接口以匹配Golang的解密方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         最近改写服务器,集群中服务器是nodejs写的,把其中一个服务器改成golang写的,碰到了nodejs aes192加密,再golang中解密碰到的坑,如下。

         在nodejs中是这样加密的

const encrypt = (toEncrypt) => {
    const cipher = crypto.createCipher('aes192', cryptoKey);
    let encrypted = cipher.update(toEncrypt, 'utf8', 'hex');
    encrypted += cipher.final('hex');
    return encrypted;
  };

发现golang中根本不知道aes192对应的到底是aes192中的那种加密模式,经过查询接口已经废弃

使用新的接口,原来的接口文档已经找不到了,刚开始顺着这个方法一直找,首先AES 有五种加密模式:电码本模式(Electronic Codebook Book (ECB))、密码分组链接模式(Cipher Block Chaining (CBC))、计算器模式(Counter (CTR))、密码反馈模式(Cipher FeedBack (CFB))和输出反馈模式(Output FeedBack (OFB))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值