如果是的话
这段Node.js加密
var cipher = crypto.createCipher('aes-128-ecb', key);
var encrypted = "";
encrypted += cipher.update(plaintext, 'binary', 'base64');
应该是转换成下面的Go代码
block, err := aes.NewCipher(key)
if err != nil {
return nil, err
}
blockSize := block.BlockSize()
origData = PKCS5Padding(origData, blockSize)
// origData = ZeroPadding(origData, block.BlockSize())
blockMode := cipher.NewCBCEncrypter(block, key[:blockSize])
crypted := make([]byte, len(origData))
// 根据CryptBlocks方法的说明,如下方式初始化crypted也可以
// crypted := origData
blockMode.CryptBlocks(crypted, origData)
fmt.Println(base64.StdEncoding.EncodeToString(result))
可是最后得到的字符串不对。
有疑问加站长微信联系(非本文作者)