TiDB V5.0.0 版本
在mysql中,AES_DECRYPT + FROM_BASE64 可以正常解密:
TiDB 的解密结果:
撇开解密逻辑,只是用 FROM_BASE64 函数,在 MySQL 里的结果:
TiDB 里使用 FROM_BASE64 函数结果:
初步推断,就是 FROM_BASE64 函数有问题,该函数官方显示是支持的:
麻烦大佬帮忙看下,谢谢!
TiDB V5.0.0 版本
在mysql中,AES_DECRYPT + FROM_BASE64 可以正常解密:
TiDB 的解密结果:
撇开解密逻辑,只是用 FROM_BASE64 函数,在 MySQL 里的结果:
TiDB 里使用 FROM_BASE64 函数结果:
初步推断,就是 FROM_BASE64 函数有问题,该函数官方显示是支持的:
麻烦大佬帮忙看下,谢谢!
已解决,最外层需要 convert 一下。
原语句:
select (AES_DECRYPT(FROM_BASE64(’+1irIKzSXvybvoZpDNYekQ==’),‘XXX’))
改写后语句:
select CONVERT (AES_DECRYPT(FROM_BASE64(’+1irIKzSXvybvoZpDNYekQ==’),‘XXX’) USING UTF8)
建议:
这个能否和 MySQL 一致,不需要再手工加一层 convert,或者在从表中取数据的时候,判断表的字符集,如果是 utf8,直接转好。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。