gpt4 book ai didi

mysql - 如何在 mysql 数据库中加密电子邮件但仍然能够查询它们?

转载 作者:可可西里 更新时间:2023-11-01 06:31:58 24 4
gpt4 key购买 nike

我想使用加密技术将用户的电子邮件地址存储在 MySQL 数据库中,以确保在数据库遭到破坏时不会公开这些地址。我相信如果我用 mysql 的 AES_ENCRYPT() 加密它们函数 我无法在 INNODB 表中创建索引,因为我必须使用 BLOB 数据类型。如果表变得非常大,选择将花费很长时间。

什么是保护电子邮件地址但仍然能够快速查询它们并将它们作为列中的唯一值保留的最佳解决方案?

最佳答案

当用户在您的网站上注册时,使用 AES_ENCRYPT() 来加密电子邮件。

INSERT into users (email) VALUES (AES_ENCRYPT('someemail@example.com', 'aeskey'));

查询数据库时,可以像这样调用 AES_DECRYPT() 函数:

SELECT AES_DECRYPT(email, 'aeskey') from users;

关于mysql - 如何在 mysql 数据库中加密电子邮件但仍然能够查询它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com