【发布时间】:2020-09-03 18:07:01
【问题描述】:
我想知道 AES_ENCRYPT 和 AES_DECRYPT 在 MySQL 8 中的正确实现。
我有一个包含字段ownerIdVARCHAR(16) 和ownerPassword(BLOB) 的表。
1.我们将一条记录插入到表中 01_tblCompany 使用MySQL 的AES_ENCRYPT() 函数来加密ownerPassword 字段,如下所示:
INSERT INTO 01_tblCompany (ownerId, ownerPassword) VALUES ('owner001', AES_ENCRYPT('password123', 'privateKey'));
2。我们从表中选择这条记录 01_tblCompany 使用MySQL AES_DECRYPT() 函数来解密ownerPassword 字段,如下所示:
SELECT AES_DECRYPT(ownerPassword, 'privateKey') AS ownerPassword FROM 01_tblCompany WHERE ownerId = 'owner001';
MySQL page for the AES Encryption function 声明您不应该只将纯文本 privateKey 交给key_str 参数,并且
将密钥传递给 key_str 参数的最安全方法是创建 一个真正随机的 128 位值并将其作为二进制值传递。
我想那是我的头发开始冒烟的时候,我希望有人能展示正确实施的完整示例?
【问题讨论】:
-
使用页面上的示例。它有你需要的一切
标签: mysql encryption