我有一个 MySQL 表,我在其中存储使用openssl
.
假设我有一个名为friends
fields的 MySQL 表id, name, surname
。
我只想加密字段name
。所以我使用它加密它openssl_public_encrypt
,然后将它保存在表中。这很好用。
当我需要读取记录时,我选择它并name
使用解密openssl_private_decrypt
,我可以读取它。它也可以正常工作。
现在这是我的问题。可以说我需要找到所有记录name = 'carlos'
我做的第一件事(我是 openssl 的初学者)是加密'carlos'
并使用该值作为条件:
<?php
openssl_public_encrypt('carlos', $encrypted, $myPublicKey);
$query = 'SELECT * FROM friends WHERE name ="' . $encrypted . '"; ';
?>
但后来我意识到openssl_public_encrypt
总是为相同的输入返回不同的值。所以我无法复制第一个加密值。
现在我认为不可能将该字段用作条件。
问题:有没有办法可以在 MySQL 中使用 openssl 加密字段作为过滤条件?