最近改写服务器,集群中服务器是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))