如何使用 MySQL AES_DECRYPT 和 aes-256-gcm

How to use MySQL AES_DECRYPT with aes-256-gcm

我正在使用 MySQL v5.7.17.

我正在尝试使用 aes-256-gcm 算法解密通过 Ruby 加密的数据。

到目前为止我有这个:

SELECT AES_DECRYPT(UNHEX(@encrypted_account_number), @key, @encrypted_account_number_iv);

这会起作用,但是返回 NULL 因为加密模式与我用来加密的模式不匹配。 我做了一些研究,显然 MySQL 不支持 aes-256-gcm。

这是真的吗?如果是这样,有什么解决办法吗?

顺便说一句 - 这是我用来在加密模式之间切换的命令:

SET @@session.block_encryption_mode = 'aes-256-ctr';

非常感谢!

mysql 目前不支持像 gcm 这样的基于 ctr 和 ctr 的模式,所以我担心你将不得不在你的 dbms 之外执行此操作。

http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_block_encryption_mode