mysql - 如何将 MySQL AES_DECRYPT 与 aes-256-gcm 一起使用

标签 mysql encryption cryptography aes aes-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 目前不支持 ctr 和基于 ctr 的模式,例如 gcm,所以我担心您必须在 dbms 之外执行此操作。

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

关于mysql - 如何将 MySQL AES_DECRYPT 与 aes-256-gcm 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41645063/

相关文章:

objective-c - 即使没有 IV,AES CBC 中的 CCCrypt 解密也能正常工作

mysql - 获取行号(如excel)

php - Mysqli 选择列名但跳过第一列

java - Java中的RSA解密,未使用RSA库

java - 如何加载椭圆曲线 PEM 编码的私钥?

java - 为什么 SSL 握手给出 'Could not generate DH keypair' 异常?

php - SQL根据另一个列值得到不同的列结果

mysql - laravel where 子句中的内部查询

java - 扩展微软的 JDBC 驱动程序的可行性如何?

python - 重复 key 与 Python 中输入的普通文本的长度相同