【发布时间】:2014-12-10 15:40:49
【问题描述】:
我只是在开始在我的应用程序中使用 MySQL AES_ENCRYPT() 和 AES_DECRYPT() 之前对其进行测试。所以我写了一个简单的查询来测试它:
SELECT AES_DECRYPT(AES_ENCRYPT('SERV92','TESTTTTTTT'),'TESTTTTTTT') AS `TEST`
我收到一个错误,因为AES_ENCRYPT() 中的参数太少
我做了一些研究,发现我的 MySQL 版本(5.6)确实需要一个额外的参数,所以我重写了查询
SELECT AES_DECRYPT(AES_ENCRYPT('SERV92','TESTTTTTTT',RANDOM_BYTES(16)),'TESTTTTTTT',RANDOM_BYTES(16)) AS `TEST`
结果:
+-----------+
| TEST |
|-----------|
| NULL |
+-----------+
重要的 MySQL 变量:
block encryption mode=aes-256-cbc
我正在尝试使用 AES 256
【问题讨论】:
-
提示:您正在为 IV 获取 随机 个字节,但两个调用的字节应该相同。