2015-04-29 43 views
1

有沒有辦法對數據庫中的字段進行加密,並且仍然有有用的索引?加密字段上的MySQL索引

例如,在醫療領域,您需要加密患者信息。如果我在患者姓名字段上執行此操作,是否有辦法仍然能夠對解密值進行索引?

我想在場上使用AES_ENCRYPT(),但真的想知道是否有一個技巧來對解密值進行索引,而不是字段值(將被加密)。

回答

0

AES_ENCRYPT()AES_DECRYPT()是功能。所以更籠統的問題是:

MySQL可以索引函數嗎?

MySQL 5.6開始的答案是否定的,儘管你可以在其他sql引擎中看到這個。例如oracle已經完成了這個工作,因爲8iMS SQL自從2000開始執行此操作。

看起來這可能在Maria DB 5.2https://mariadb.com/kb/en/mariadb/virtual-computed-columns/)中,這是MySQL的社區版本分支。

參考文獻:

+1

如果你認爲AES功能將讓數據更加安全,記住,代碼是現在漏洞的臨界點,因爲必須在您的代碼中訪問'鑰匙'。 –