我需要加密 MySQL 中的列,并且我正在使用 AES_ENCRYPT。我想找出一种在 WHERE 子句中使用此数据列的安全方法。我的问题是这个——
1)我可以使用相同的密码对 WHERE 子句参数进行 AES_ENCRYPT 并在 WHERE 子句中使用生成的加密字符串吗?还是我必须对整个列进行解密?
例如,这会安全吗?
SELECT * from TABLE WHERE Enc_COL= AES_ENCRYPT('someColValue','same_passphrase');
还是必须
SELECT * from TABLE WHERE AES_ENCRYPT(Enc_COL,'same_passphrase')= 'someColValue';
我相信第二个例子会慢得多,所以我想知道第一个例子是否可行。