如果是的话
这段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))
可是最后得到的字符串不对。
你应该看了我写的文章。
[aes](https://github.com/polaris1119/myblog_article_code/tree/master/aes)
这里有三种语言的版本:Go、PHP、Java,都测试过了。
如果你觉得最后得到的字符串不对,你得看看你的node代码是不是有问题。
#1